2

我正在尝试将文本消息从收件箱插入到 SQLite 数据库,但由于某些特殊字符/符号无法正确插入。

我在 Stackoverflow 中遇到了一些问题,但似乎没有任何用处。

我得到了这个代码,但它不起作用。

data.execSQL("INSERT INTO recor(text) VALUES('"+DatabaseUtils.sqlEscapeString(messag)+"')");

我的数据库中只有一个字段,并且正在尝试插入消息的详细信息。我将详细信息(类型、时间、数字、消息)放在一个字符串中message,并且recor是我的表名。

这就是我在使用 try catch 循环时得到的结果。

错误就在附近:

“FROM”:语法错误:INSERT INTO 记录(文本)值(“FROM 15555215556 消息:-MSG”)

4

2 回答 2

2

改为使用 DatabaseAdapter 的插入方法。例如

ContentValues values = new ContentValues();
values.put(COLUMN_NAME, value);
dbAdapter.insert(TABLE_NAME, null, values);

看起来您的列名是“文本”?这一定是错误的,因为 text 是 sqlite 中的关键字。

于 2012-07-08T18:22:13.643 回答
0

您的最终 SQL 字符串似乎在您插入的字符串周围包含两组引号,因此我假设该DatabaseUtils.sqlEscapeString方法在字符串周围添加了自己的引号。

因此,您的代码应该是:

data.execSQL("INSERT INTO recor(text) VALUES("+DatabaseUtils.sqlEscapeString(messag)+")");

于 2012-07-08T18:54:16.413 回答