插入包含未知字符的字符串(即',“,”等)

时间:2017-03-27 12:23:20

标签: objective-c sqlite insert ios10 google-maps-sdk-ios

我对数据库不太好,但我可以管理简单的数据库操作。目前我在将数据插入表时面临一个问题。让我解释一下情景。

在我的应用中,我通过GoogleMapSDK搜索地点,然后下拉我选择一个地方的地方列表。然后我想将该位置添加为收藏夹并将所有数据插入数据库中。现在问题是GoogleMapSDK返回地名尴尬的东西,如:'' Sapna' SPa''''''。并且数据库查询不允许我将此数据插入数据库。

如何插入这样的数据?

我知道如果它包含一个单引号或双引号,则可以使用反斜杠进行管理,但如果您不知道哪些数据存在,那么它是如何管理的?

我希望按原样存储数据,而不更换或删除任何字符。

如果有人有解决方案,请分享。

1 个答案:

答案 0 :(得分:1)

您可以使用可变占位符准备查询,而不是自己构建完整的查询字符串。

例如:

a) INSERT INTO yourtable (name) VALUES ('''Sapna''SPa’’’’’’’')

b) INSERT INTO yourtable (name) VALUES (?)

我不熟悉objective-c,但通常你可以通过3个步骤安全地运行你的查询:

  1. 使用占位符编写查询并进行准备(如查询b)
  2. 将变量绑定到占位符
  3. 执行您准备好的陈述
  4. 有关详细信息,请参阅sqlite驱动程序的文档。