Проблема с Android при использовании встроенной в SQLiteDatabase execSQL для обновления функции - PullRequest
0 голосов
/ 22 октября 2010

У меня есть следующий код, чтобы открыть базу данных на 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 Ответ

1 голос
/ 17 августа 2011

Из документации Android SQLiteDatabase:

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

Выполнить один оператор SQL, который НЕ являетсяa SELECT / INSERT / UPDATE / DELETE.

Вам необходимо использовать update () или rawQuery () .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...