openDatabaseSync in Javascript in QT-Quick
openDatabaseSync in Javascript in QT-Quick
在main.qml中,我导入了一个javascript文件:
import "./js/noteDB.js" as NoteDB
在里面,我想用数据库来保存和加载状态,所以我调用
Component.onCompleted: {
NoteDB.openDB()
}
其中openDB()在noteDB.js文件中定义:
function openDB() {
print("noteDB.createDB()")
_db = openDatabaseSync("StickyNotesDB", "1.0",
"The stickynotes Databes", 1000000);
createNoteTable();
}
但我得到以下错误:ReferenceError:openDatabaseSync未定义*
PS:根据Qt Quick中的错误报告,我也尝试过这样做,而不是调用openDB():var _db=注释数据库。LocalStorage.openDatabaseSync("StickyNotesDB","1.0","TheStickynotesDatabes",1000000);但是给出了类似的错误:TypeError:无法调用未定义的方法"openDatabaseSync"
感谢任何能为我指明正确方向的人。
我已经用Qt 5.2进行了测试,当我有时,它似乎可以工作
1 import QtQuick.LocalStorage 2.0
2 import QtQuick 2.0
3 import "noteDB.js" as NoteDB
4
5 Item {
6 Component.onCompleted: {
7 NoteDB.openDB();
8 }
9 }
和
1 function openDB() {
2 print("noteDB.createDB()")
3 var _db = LocalStorage.openDatabaseSync("StickyNotesDB", "1.0",
4 "The stickynotes Databes", 1000000);
5 }
因此,我建议您编写LocalStorage.openDatabaseSync
并仔细检查import QtQuick.LocalStorage 2.0
是否存在。
尝试以下代码:
.import QtQuick.LocalStorage 2.0 as Sql
...
var _db = Sql.LocalStorage.openDatabaseSync("StickyNotesDB", "1.0",
"The stickynotes Databes", 1000000);
import QtQuick 2.0
import QtQuick.LocalStorage 2.0 as Sql
Rectangle {
color: "white"
width: 200
height: 100
Text {
text: "?"
anchors.horizontalCenter: parent.horizontalCenter
function findGreetings() {
var db = Sql.LocalStorage.openDatabaseSync("QDeclarativeExampleDB", "1.0", "The Example QML SQL!", 1000000);
db.transaction(
function(tx) {
// Create the database if it doesn't already exist
tx.executeSql('CREATE TABLE IF NOT EXISTS Greeting(salutation TEXT, salutee TEXT)');
// Add (another) greeting row
tx.executeSql('INSERT INTO Greeting VALUES(?, ?)', [ 'hello', 'world' ]);
// Show all added greetings
var rs = tx.executeSql('SELECT * FROM Greeting');
var r = ""
for (var i = 0; i < rs.rows.length; i++) {
r += rs.rows.item(i).salutation + ", " + rs.rows.item(i).salutee + "'n"
}
text = r
}
)
}
Component.onCompleted: findGreetings()
}
}
相关文章:
- Node.js's Buffer.writeFloatBE in Javascript
- Setting default onclick behavior for <img> tag in gene
- Lucene Search in Alfresco
- grep in JQuery to C#
- write HTML in JavaScript
- jQuery setTimeOut: in for-loop
- SetTimeout and clearTimeout in Javascript
- lightbox in html 5 and javascript
- HTMLInputElement in IE7
- Mongodb$in以与数组中相同的顺序获取结果
- element.dataset in Internet Explorer
- jQuery parent() in table
- Instagram oauth flow in angularjs
- In循环的In运算符前后
- 如何使用for in循环在javascript中显示对象中的对象
- Jquery change onchange in onload
- 重构 jQuery in JS 问题
- strongloop script.js run find in before delete方法:如何同步运行异步方法
- openDatabaseSync in Javascript in QT-Quick
- 如何使用QT Quick处理用户数据