如何将逗号字符串插入sqlite db

时间:2012-01-27 14:59:11

标签: android sqlite

我试图使用此代码:

    String message = "this is david's house";

    String sql = "INSERT into " + TABLE + "(message) VALUES ('" + message + "')";

    db.execSQL(sql);

    db.close();

为了将字符串插入db,但得到此异常:

 01-27 14:52:01.083: E/Database(727): Failure 1 (near "id": syntax error) on 0x12a038 when  preparing 'INSERT into calls_table (message) VALUES  ('this is david's house')'.

如何让SQLite获取逗号?

3 个答案:

答案 0 :(得分:4)

您必须正确逃避'

String message = "this is david''s house";

或者,如果sqlite支持它(我不知道),参数化查询会更好。

只是提到它:'不是逗号,它是apostrophe(至少我认为这是正确的名称,我经常混淆名称那个)。

答案 1 :(得分:1)

通过提供另一个撇号来逃避它。

String message = "this is david''s house";

String sql = "INSERT into " + TABLE + "(message) VALUES ('" + message + "')";

db.execSQL(sql);

db.close();

答案 2 :(得分:0)

SQL标准指定通过在行中放入两个单引号来转义字符串中的单引号 http://www.sqlite.org/faq.html#q14