Android问题使用内置的SQLiteDatabase execSQL来更新功能

时间:2010-10-22 19:34:03

标签: android sqlite

我有以下代码在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();

1 个答案:

答案 0 :(得分:1)

来自Android SQLiteDatabase文档:

  

public void execSQL (String sql,Object [] bindArgs)

     

执行一个非SELECT / INSERT / UPDATE / DELETE的SQL语句。

您需要使用update()rawQuery()