2013-03-21 6 views
-1

я должен обновить данные в таблицу с именем клерк, используя этот код:ОШИБКА ОБНОВЛЕНИЯ SQLITE DATABASE В ANDROID

try 
{ 
    //update query 

    myDataBase.execSQL("UPDATE CLERK SET" + 
     " CLK_NAME='" + sql_clk_name + "'," + 
     " CLK_EXPIRY_DATE='" + sql_expirydt + "'," + 
     " CLK_PASSWORD='" + sql_password + "'" + 
     " WHERE CLK_ID = '" + sql_clk_id + "'" , null); 

    Toast.makeText(getApplicationContext(), "MODIFIED !!!", Toast.LENGTH_SHORT).show(); 
} 
catch (Exception ex) 
{ 
    Toast.makeText(getApplicationContext(), 
     "error modifying clerk",Toast.LENGTH_SHORT).show(); 
} 

Когда я бегу, я получаю исключение, ex=null. Запись, безусловно, присутствует в db.

Когда я использую "cursor = myDataBase.rawQuery" вместо "myDataBase.execSQL" запроса выполнить, но не отражены в базе данных .. кто-то помочь мне, пожалуйста

+0

нет нуля в переменных, которые я передаю, такой как clk_name, clk_expiry_date, clk_password, clk_id .. .. –

+0

также добавить результат logcat с вопросом –

+0

, похоже, не работает, даже если я жестко запрограммировал запрос на обновление –

ответ

1

Спасибо за ваши усилия и время. как всегда я нашел способ обновления.

это как ...

ContentValues values=new ContentValues(); 
values.put("CLK_NAME", sql_clk_name); 
values.put("CLK_EXPIRY_DATE", sql_expirydt); 
values.put("CLK_PASSWORD", sql_password);myDataBase.update("CLERK",values,"CLK_ID='" + sql_clk_id + "'",null); 

и он работал, как чуда :)