Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript phonegap+中奇怪的db插入问题;sqlite_Javascript_Sqlite_Cordova - Fatal编程技术网

Javascript phonegap+中奇怪的db插入问题;sqlite

Javascript phonegap+中奇怪的db插入问题;sqlite,javascript,sqlite,cordova,Javascript,Sqlite,Cordova,我有以下phonegap sqlite插入语句: tx.executeSql('insert into "'+gAppConfig.configTable+'" (key , value) values("uniqueId","'+uniqueId+'")' , [] , querySuccess, errorQuery); 这两列都是文本数据类型,但插入查询不起作用。 uniqueId是一个随机的8字符字符串,如“e72361c6”。奇怪的是,当我直接插入“e7231c6”时,它就工作了。

我有以下phonegap sqlite插入语句:

tx.executeSql('insert into "'+gAppConfig.configTable+'" (key , value) values("uniqueId","'+uniqueId+'")' , [] , querySuccess, errorQuery); 
这两列都是文本数据类型,但插入查询不起作用。 uniqueId是一个随机的8字符字符串,如“e72361c6”。奇怪的是,当我直接插入“e7231c6”时,它就工作了。为什么它不能与变量一起工作。这里还要注意的是,随机字符串是通过解密存储在服务器db中的值生成的。我在服务器上解密并获取8位随机字符串,然后将解密后的值发送到设备,存储在变量中,并插入问题所在的数据库中。当我在插入前提醒字符串时,它会显示正确的8个字符的字符串。另一方面,如果我不解密,只是从服务器发送8个字符串,插入就会成功。可能与编码/解码字符串格式有关。感谢您的帮助

只需将“uniqueId”替换为NULL

tx.executeSql('insert into "'+gAppConfig.configTable+'" (key , value) values(null,"'+uniqueId+'")' , [] , querySuccess, errorQuery);
或者你可以用这个

tx.executeSql('insert into "'+gAppConfig.configTable+'" (value) values("'+uniqueId+'")' , [] , querySuccess, errorQuery);

请记住,您正在处理而不是普通的SQL server。

在SQL中,表/列名等标识符应使用双引号,而字符串应使用单引号。(为了与其他数据库兼容,支持其他引用,但可能会被误解。)


sqlite是否区分单引号和双引号?我尝试过用单引号和双引号删除xtra“u have.Like this…tx.executeSql('插入'+gAppConfig.configTable+'(键,值)值(“uniqueId”,“'+uniqueId+”),[],querySuccess,errorQuery);顺便说一句,如果使用一个变量会发生什么,它会创建一个错误还是会发生什么?:)是的,它会抛出sqlite错误“未定义”
INSERT INTO "MyTable"("col1", "col2")
VALUES ('ABC', 'xyz')