插入SQLite

时间:2012-07-08 18:15:45

标签: android sqlite

我正在尝试将收件箱中的短信插入SQLite数据库,但由于某些特殊字符/符号,它无法正确插入。

我在Stackoverflow中遇到了一些问题,但似乎没什么用。

我收到了这段代码,但它无效。

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

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

当我使用try catch循环时,这就像吐司一样。

错误就在附近:

  

“FROM”:语法错误:INSERT INTO recorder(text)VALUES(“FROM 15555215556消息:-MSG”)

2 个答案:

答案 0 :(得分:2)

使用DatabaseAdapter的insert方法。 e.g。

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

您的列名称似乎是“文字”?这一定是错的,因为text是sqlite中的关键字。

答案 1 :(得分:0)

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

因此,您的代码应为:

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