替换sqlite中的行(如果存在)

时间:2012-08-16 02:46:38

标签: javascript sqlite google-chrome cordova

如果表格中存在 javascript ,也可以将 sqlite 调用更新行,并创建该行不存在在phonegap中

目前,像以下一行会成功在Google Chrome中创建一行

transaction.executeSql("INSERT INTO "+tablename
                    +" (fieldName,fieldValue,fieldComment) VALUES 
                    ('"+name+"', '"+value+"', '"+comment+"');",[], 
                    this.nullDataHandler, this.errorHandler);

但是,当我尝试以下内容时(因为我认为应该从这里完成:http://www.sqlite.org/lang_replace.html),没有任何反应:

transaction.executeSql("REPLACE "+tablename+" (fieldName,fieldValue,fieldComment) 
                       VALUES ('"+name+"', '"+value+"', '"+comment+"');",[],
                        this.nullDataHandler, this.errorHandler);

(这是在致电"CREATE UNIQUE INDEX uniqueName ON "+tablename+" ("+name+")";后)

同样的事情发生在

 transaction.executeSql("INSERT INTO OR REPLACE "+tablename+" (fieldName,fieldValue,fieldComment) VALUES ('"+name+"', '"+value+"', '"+comment+"');",[], this.nullDataHandler, this.errorHandler);

(也是在调用“CREATE UNIQUE INDEX uniqueName ON”+ tablename +“(”+ name +“)”;)之后

 transaction.executeSql("DELETE FROM "+tablename+" where \"fieldName\" EQUALS "+name+";",[], this.nullDataHandler, this.errorHandler);
 transaction.executeSql("INSERT "+tablename+" (fieldName,fieldValue,fieldComment) VALUES ('"+name+"', '"+value+"', '"+comment+"');",[], this.nullDataHandler, this.errorHandler);

我有一个try语句包围的调用,希望有问题的调用会引发异常,但什么都没发生。

我无法相信我在问这个问题,但几周之后什么都没有,我觉得是时候问了。如果有人知道在javascript中调试sqlite的方法,请告诉我。我在windows 7 dell inspiron上测试谷歌浏览器中的数据库(ctrl + shift + i-> resources->数据库)。)

0 个答案:

没有答案