2013-05-01 2 views
0

Я сделал обновление в таблице базы данных SQLite в другом проекте, он отлично работает, в этом случае все кажется прекрасным, но отображается ошибка. Вот код обновления таблицы: спискиНе удалось обновить таблицу в базе данных SQLite: android

public void updateNamePhone(ArrayList<String> seekerList, ArrayList<String> nameList, ArrayList<String> phoneList) { 
    // TODO Auto-generated method stub 

    try{ 
    for(int i=0;i<seekerList.size();i++){ 
    ContentValues editCon = new ContentValues(); 
    editCon.put(KEY_NAME, nameList.get(i)); 
    editCon.put(KEY_PHONE, phoneList.get(i));    
    ourDatabase.update(DATABASE_TABLE, editCon, KEY_REGID+"="+seekerList.get(i), null);  
    } 

    }catch(Exception e){ 
     System.out.println(e.getMessage()); 
    } 

} 

Три массива являются:

seekerList:[Chandigarh, Mohali, Panchkula, Ambala] 
nameList:[Vikram, Ashish, Rohit, Sunny] 
phonelist:[989,98763,564838,33224] 

Все столбцы таблицы в типе текста, а создается.

Здесь ловится ошибка:

05-01 09:08:11.234: E/Database(25886): updateWithOnConflict |Error updating table = seekersList 
05-01 09:08:11.234: I/System.out(25886): no such column: Chandigarh: , while compiling: UPDATE seekersList SET person_phone=?, person_name=? WHERE person_regid=Chandigarh 
+0

обеспечивает person_regid значения в одинарных кавычках, как это тип текст – Pragnani

+0

спасибо за reply.I скорректированного это :) – aseem

ответ

0

Это является причиной вашей ошибки:

no such column: Chandigarh: , while compiling: UPDATE seekersList SET person_phone=?, person_name=? WHERE person_regid=Chandigarh

Вы должны поставить кавычки вокруг любого поиска такие строки:

UPDATE seekersList SET person_phone=?, person_name=? WHERE person_regid='Chandigarh'

так и в программном коде редактировании, как:

ourDatabase.update(DATABASE_TABLE, editCon, KEY_REGID+"='"+seekerList.get(i)+"'", null);  
+0

Спасибо брату за то, что я сэкономил свое время и дал быстрый ответ, его тоже очень много. – aseem

0

Изменить обновление

ourDatabase.update(DATABASE_TABLE, editCon, KEY_REGID+"=?", 
          new String[]{seekerList.get(i)}); 
+0

Спасибо, брата.. Работает. Его смущающая ошибка, которую я не смог найти. Простите за неудобства. Thanx alot – aseem