在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中的bug报告之后,我也尝试这样做,而不是调用openDB():var _db =openDB "1.0","TheStickynotesDatabes",1000000);但是给出了一个类似的错误: TypeError:无法调用未定义的openDatabaseSync方法
谢谢任何能为我指明正确方向的人。
发布于 2013-12-02 08:26:52
我用我的Qt5.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。
发布于 2014-06-14 15:02:51
尝试以下代码:
.import QtQuick.LocalStorage 2.0 as Sql
...
var _db = Sql.LocalStorage.openDatabaseSync("StickyNotesDB", "1.0",
"The stickynotes Databes", 1000000);发布于 2022-07-13 06:55:29
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()
}}
https://stackoverflow.com/questions/20318365
复制相似问题