2

编辑:问题已解决...与问题的措辞无关...抱歉浪费时间:-\

我意识到,当 iOS 和 Android 等平台(如果您正在编写手机应用程序)有用于此的工具时,通常您希望使用某种抽象层而不是为 SQLite 编写自己的插入语句。

不幸的是,由于我可以使用的工具以及所涉及的不同平台/系统的数量,我处于这种情况下,这并不是一个真正的选择。

我遇到的问题真的很简单,但我似乎无法通过谷歌、stackoverflow 等找到答案......我只是想使用 Webkit 的“executeSql”命令执行以下查询:

INSERT INTO someTable VALUES (''some string'', ''some string with a semicolon; in it'');

问题是 - 除非我删除分号,否则这会失败。(注意:双引号是因为发送到webkit的executeSql命令的语句需要转义..也许这是问题的一部分?)

如果我从第二个字段中的字符串中取出分号 - 语句运行良好......

如果我用反斜杠转义分号 - 运气不好!

sqlite 的文档充其量似乎是平庸的,我一直无法弄清楚我应该如何逃避那个分号......任何帮助将不胜感激。

4

1 回答 1

3

这工作正常:

CREATE Table DummyTable(FirstCol VARCHAR(25), SecondCol VARCHAR(25));
INSERT INTO DummyTable VALUES ('This is a test', 'This is test two; OK?');
SELECT * FROM DummyTable;

-- output
FirstCol                  SecondCol
========================= ========================= 
This is a test            This is test two; OK?

问题似乎是您的 SQL 语句中的引号加倍。

于 2012-05-23T22:57:18.617 回答