sqlite插入特殊字符

时间:2012-03-19 07:17:50

标签: android sqlite

db.execSQL("INSERT OR REPLACE INTO 'sms' (sms_id,text) VALUES (10,'__[ ]__|"?___'-@------@- '');");

在sqlite上运行它并向我显示这一行:

SQLiteManager: Likely SQL syntax error: INSERT INTO 'sms' (sms_id,text) VALUES (10,'__[ ]__|"?___'-@------@- ''); [ unrecognized token: "@" ]
Exception Name: NS_ERROR_FAILURE
Exception Message: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageConnection.createStatement]

我需要一个代码来插入带有任何符号的任何文本

2 个答案:

答案 0 :(得分:3)

您好我认为您应该在SQLite中使用双引号''查看转义引号

Sqlite FAQ Site - Escaping quotes

所以在你的情况下:

INSERT INTO 'sms' (sms_id,text) VALUES (10,'__[ ]__|"?___''-@------@- '');

答案 1 :(得分:0)

通常有包装函数,如

  sql_execute('INSERT INTO `table`(a,b,c) VALUES (?,?,?)',1,2,3); 

并且那些?个问号会引用引号以及获取数据所需的任何其他内容。

不确定Android,但在大多数编程框架中都是如此。