2012-04-11 2 views
2

내 sqlite 안드로이드 데이터베이스에서 값을 업데이트하려고합니다. 나는 다음을 사용하고있다 :안드로이드 데이터베이스 업데이트

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

+0

확인해 주셔서 감사합니다. –

답변

2

사용

db.execSQL(update); 

처럼 ,, 데이터베이스를 업데이트하는 기능을 다음

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

원시 쿼리에 선택 인수를 전달하지 않습니다. String 배열을 만들고 이름과 ID 값을 순서대로 추가해야합니다. 그런 다음 null 대신 rawQuery에 두 번째 인수로 배열을 전달합니다.

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(); 
    } 

} 
관련 문제