0

テーブルを sql lite データベースに正常に追加していますが、テーブルに値を書き込む構文に苦労しています。以下のコードを見て、正しい構文についてアドバイスしてください。

ごめんなさいコード!

 var db = window.openDatabase("Database", "1.0", "GBA", 200000);
        db.transaction(populateDB, errorCB, successCB);
    }

    // Populate the database
    //
    function populateDB(tx) {
        tx.executeSql('DROP TABLE IF EXISTS vehiclecheck');
         tx.executeSql('CREATE TABLE IF NOT EXISTS vehiclecheck (id INTEGER PRIMARY KEY AUTOINCREMENT, checkfield VARCHAR(12), class INTEGER)');

       tx.executeSql('INSERT INTO vehiclecheck (checkfield, class) VALUES (' + 'Test' + ',' + 1 + ')');
4

2 に答える 2

0

テストをエスケープする必要があります。SQL を検討する場合:

INSERT INTO vehiclecheck (チェックフィールド、クラス) VALUES (テスト,1)

Test を囲む一重引用符が欠落していることがわかります。

バインドされたパラメーターも使用できることを忘れないでください。例はここにあります: http://www.raymondcamden.com/index.cfm/2011/10/20/Example-of-PhoneGaps-Database-Support

于 2013-07-26T00:27:46.543 に答える
0

この挿入を試してください

tx.executeSql("insert into vehiclecheck(checkfield, class) values(?,?)",["Test",'1']);
于 2013-07-26T06:02:34.580 に答える