正确的sql lite语法

时间:2013-07-25 14:56:42

标签: sql cordova

我正在成功地将一个表添加到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 + ')');

2 个答案:

答案 0 :(得分:0)

你需要逃避测试。如果你考虑你的SQL:

INSERT INTO vehiclecheck(checkfield,class)VALUES(Test,1)

您可以看到Test周围的单引号丢失。

不要忘记你也可以使用绑定的params。这里有一个例子:http://www.raymondcamden.com/index.cfm/2011/10/20/Example-of-PhoneGaps-Database-Support

答案 1 :(得分:0)

尝试此插入

tx.executeSql("insert into vehiclecheck(checkfield, class) values(?,?)",["Test",'1']);