【发布时间】:2013-10-26 11:02:14
【问题描述】:
嗯,有一个字符串包含
INSERT INTO PERSON (ID, NAME) VALUES (1, 'Person1');
如何在不使用 ContentValues 和 SQLiteDatabase.insert() 的情况下直接在 Android SQLite 上插入?
【问题讨论】:
标签: android sqlite sqliteopenhelper
嗯,有一个字符串包含
INSERT INTO PERSON (ID, NAME) VALUES (1, 'Person1');
如何在不使用 ContentValues 和 SQLiteDatabase.insert() 的情况下直接在 Android SQLite 上插入?
【问题讨论】:
标签: android sqlite sqliteopenhelper
Android 文档鼓励使用查询、插入、删除和更新方法,但对于更复杂的操作,可以使用自定义 SQL 语句:
更多详情请见SQLiteDatabase Documentation。
【讨论】:
execSql 不打算用于插入,但它会起作用。唯一的问题是您必须自己格式化 INSERT 语句。
execSql 用于插入,但不推荐,因为此方法没有返回值。那么你就无法在这个操作中检索到受影响的行数了。
您可以使用 rawQuery() 来做到这一点 -
database.rawQuery(sql, selectionArgs);
【讨论】: