我有一个非常奇怪的问题。
经过大量调试后,我来到以下代码行:
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.
答案 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语句不起作用。这就是您的查询正确返回零计数的原因。