2015-12-18 4 views
-2

Может ли кто-нибудь помочь мне устранить проблему в моем запросе?SQLite - Обновление нескольких таблиц

Я пытаюсь вызвать функцию для обновления нескольких таблиц, которые имеют значение "1" в колонке "col", но он не работает,

my_function

public long updateNow() { 
     mDbHelper = new DatabaseHelper(mContext); 
     mDb = mDbHelper.getWritableDatabase(); 

     int doneClear = 0; 
     String base_value = "1"; // update all column "col" where value of 1 

     ContentValues initialValues = new ContentValues(); 
     initialValues.put("col", "0"); // Update all column "col" with 0 

     doneClear = mDb.update(SQLITE_TABLE_ONE, initialValues, "col=" + base_value, null); 
     doneClear = mDb.update(SQLITE_TABLE_TWO, initialValues, "col=" + base_value, null); 
     doneClear = mDb.update(SQLITE_TABLE_THREE, initialValues, "col=" + base_value, null); 
     doneClear = mDb.update(SQLITE_TABLE_FOUR, initialValues, "col=" + base_value, null); 
     doneClear = mDb.update(SQLITE_TABLE_FIVE, initialValues, "col=" + base_value, null); 
     doneClear = mDb.update(SQLITE_TABLE_SIX, initialValues, "col=" + base_value, null); 
     Log.w(TAG, Integer.toString(doneClear)); 
     return doneClear; 
    } 

Этот код не работает , я не могу понять почему.
Ничего не происходит в колонке col.

В любом случае, этот код основан на моем предыдущем запросе, который работает нормально.

working_update_query

public long updates(String recent_value, String _id, String table_name) { 
     ContentValues initialValues = new ContentValues(); 
     initialValues.put("recent_value", recent_value); 
     Log.w(TAG, String.valueOf(initialValues) + " WITH ID OF " + _id + " IN TABLE OF " + table_name); 
     return mDb.update(table_name, initialValues, "_id=" + _id, null); 
    } 

Я застрял здесь в течение почти 1 часа, не могу понять эту проблему.
Может ли кто-нибудь мне помочь?

+0

серьезно ... вы должны смотреть на '' _id = "+ _id', пока не получите его ... ** в следующий раз определите ** * он не работает * – Selvin

ответ

0

Попробуйте с использованием шаблонов надлежащим образом вводить параметры обновления, например:

int updateCount = db.update(
    TABLE_NAME, 
    newValues, 
    "col = ?", 
    new String[] {String.valueOf(colValue)} 
); 

Для быстрой выборки проверить this tutorial.

+0

Спасибо! Понял! – bernzkie

Смежные вопросы