[Qt-qml] qml executeSql failure
Jason H
scorp1us at yahoo.com
Fri Jan 14 05:29:08 CET 2011
I'm not sure of your problem, but everytime I have a problem with sqlite, it is
because of the transaction isolation level. Normally, there wil be a -journal
file created for your transaction and will go away when complete. If it remains,
then you never finished the transaction. When you open the database the next
time the journal file will not be commited, only removed.
HTH
________________________________
From: jamiesun <jamiesun.net at gmail.com>
To: QmlGroup <qt-qml at qt.nokia.com>
Sent: Thu, January 13, 2011 10:29:02 PM
Subject: [Qt-qml] qml executeSql failure
I installed qt_installer.sis and sqlite3.sis
I copy the code from "declarative/sqllocalstorage/hello.qml"
I created a qtquick app and packaged into sis. (use the command "qmake-symbian"
and "make sis" on ubuntu10.04)
But it can not get the right results.
It has been shown "?"
I modified the code:
>import Qt 4.7
>Rectangle{
> id: rectangle1
> width: 320
> height: 240
> color: "#555555"
> Component.onCompleted: text2.findGreetings()
> Text {
> id: text2
> x: 10
> y: 12
> text: "?"
> font.pointSize: 7
> function findGreetings() {
> var db = openDatabaseSync("QDeclarativeExampleDB", "1.0", "The
>Example QML SQL!", 1000000);
> text1.text += "\n"+db.version
> db.transaction(
> function(tx) {
> // Create the database if it doesn't already exist
> tx.executeSql('CREATE TABLE IF NOT EXISTS test(salutation
>TEXT, salutee TEXT)',[]);
> text1.text += "\n"+ "sql1 exec"
> // Add (another) greeting row
> tx.executeSql('INSERT INTO test VALUES(?, ?)', [ 'hello',
>'world' ]);
> text1.text += "\n"+ "sql2 exec"
> // Show all added greetings
> var rs = tx.executeSql('SELECT * FROM test',[]);
> text1.text += "\n"+ "sql3 exec"
> text1.text += "\n"+ rs.rows.length
> 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
> }
> )
> }
> }
> Text {
> id: text1
> y: 12
> text: "msg:"
> anchors.fill: parent
> anchors.leftMargin: 120
> anchors.rightMargin: 10
> anchors.bottomMargin: 10
> wrapMode: Text.WrapAnywhere
> anchors.topMargin: 12
> font.pointSize: 11
> }
>}
The results:
? msg
1.0
Now get the version, openDatabaseSync should be successful
I am sure that when running the first executeSql failed.
Why?
When I uninstall sqlite3.sis, my app does not open, I am sure that the
databasedriver is not a problem.
When the app run on the symbian, how do I get console log info, use the Text
widget is not very good
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt.nokia.com/pipermail/qt-qml/attachments/20110113/c9fd29aa/attachment-0001.html
More information about the Qt-qml
mailing list