2012-04-11 116 views
2

我想更新我的sqlite Android數據庫中的值。我正在使用:更新android數據庫

public void updateName(int id, 
       String name) { 
      String update = "UPDATE STUDENT SET IS_name = " + "'" + name + "'" 
        + " WHERE ID = " + id; 
      database.rawQuery(update , null); 
    } 

但是數據庫沒有更新。請幫忙嗎?

+0

原始查詢僅在您實際上使用返回的遊標(如cursor.moveToFirst()或其他)返回時提交。但只是爲了更新使用execSQL(參見Samir Mangroliya的答案)。 – j0ntech 2012-04-11 15:11:40

+0

好的,非常感謝。 – 2012-04-11 15:17:28

回答

2

使用

db.execSQL(update); 

像,,

String update = "UPDATE STUDENT SET IS_name = '"+ name +"' WHERE ID = " + id; 
db.execSQL(update); 
0

您沒有將任何選擇參數傳遞到您的原始查詢中。您需要創建一個字符串數組,並將名稱和ID值添加到它(按此順序)。然後將數組作爲第二個參數傳遞給您的rawQuery而不是null

0

使用下面的函數來更新數據庫。

public void updateTipsDetails(int id,String name) 
{ 
    try 
    { 
     SQLiteDatabase db= this.getWritableDatabase(); 
     ContentValues values = new ContentValues(); 
     values.put(COLUMN_TIPS, name); 



     db.update(TABLE_NAME, values, id + "=" + COLUMN_ID, null); 
     db.close(); 

    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 

}