我有以下代码在SDCARD上打开数据库,然后更新一个值。如果我按原样运行代码,它通常会运行而不会抛出错误但没有任何更新。
如果我单步执行每一行,它就能完美运行。我也尝试在每个语句之间添加SystemClock.Sleep(2000)。尽管如此,除非我单步完成本节,否则它无法正常运行。
有什么想法吗?
SQLiteDatabase db = openOrCreateDatabase( sdDIR + "/DBNAME.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);
db.execSQL("UPDATE tableName SET value='" + newValue + "' WHERE name='field_name';");
db.close();
答案 0 :(得分:1)
来自Android SQLiteDatabase文档:
public void execSQL (String sql,Object [] bindArgs)
执行一个非SELECT / INSERT / UPDATE / DELETE的SQL语句。
您需要使用update()或rawQuery()。