在Android中插入并选择

时间:2014-02-04 12:51:37

标签: android sqlite select insert

我有一个非常奇怪的问题。

经过大量调试后,我来到以下代码行:

db.db.rawQuery("INSERT INTO goal_calendar(timestamp) VALUES(1)", null);
db.cursor = db.db.rawQuery("SELECT * FROM goal_calendar", null);
Log.e("SIZE", String.valueOf(db.cursor.getCount()));

结果是“大小0”。 根本没有任何错误。一切都运转得很好,突然间它不想在我的桌子上存放任何东西。它刚刚停止。可能有什么不对?

根据我的说法,这三行代码之后的结果应该总是错误(异常)或SIZE应该大于0.

1 个答案:

答案 0 :(得分:3)

因为这个

"INSERT INTO goal_calendar(timestamp) VALUES(1)"

不是QUERY (SELECT),而是 COMMAND

对于命令(INSERT,UPDATE,DELETE,...),请使用:

db.execSQL("INSERT INTO goal_calendar (timestamp) VALUES (1)", null);

我也有一些疑问,你为什么加倍“db。”
我使用“db.rawQuery”和“db.execSQL”,而不是“db.db.rawQuery”和“db.db.execSQL”。

现在有两个解释词:
您的INSERT语句不起作用。这就是您的查询正确返回零计数的原因。