如何将包含撇号的语句插入Sqlite数据库

时间:2010-11-30 04:36:08

标签: iphone cocoa-touch sqlite

在我的iPhone应用中。我正在使用Sqlite数据库。我需要将文本存储在数据库中。该文本包含撇号。

例如:

插入tbl_insert值('这是Steve的衬衫');

如何在Sqlite数据库中存储这种语句?

应该做什么?

请帮助和建议。

感谢。

3 个答案:

答案 0 :(得分:19)

这也是我在SQL Server和MySQL中经历的事情。你绝对应该使用参数化的SQL查询

有关多种语言的示例,请参阅this page

强烈反对在update语句中使用文字字符串。使用参数化查询。没有理由破坏安全性

您可以编写一个函数,将每个字符实例替换为''

http://www.kamath.com/codelibrary/cl003_apostrophe.asp

答案 1 :(得分:5)

只需更换'字符为`:)

text = text.replace("'", "`");

答案 2 :(得分:0)

使用 python 和 sqlite3,我发现以下行工作得很好(用 '' 替换 ')

myString = myString.replace('\'', '\'\'')

然后可以将字符串连接到 UPDATE 命令中

该行已正确存储和显示。它也适用于 Grafana。

我还不确定这是特定于 sqlite3 python 模块还是可以推广