2012-04-11 16 views
2

Ich versuche, einen Wert in meiner sqlite Android-Datenbank zu aktualisieren. Ich benutze:Update android-Datenbank

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

Aber die Datenbank wird nicht aktualisiert. Irgendwelche Hilfe bitte?

+0

Die unbearbeitete Abfrage wird nur übergeben, wenn Sie tatsächlich etwas mit dem zurückgegebenen Cursor, wie cursor.moveToFirst() oder etwas. Aber nur für die Aktualisierung verwenden Sie execSQL (siehe Samir Mangroliya's Antwort). – j0ntech

+0

ok, vielen Dank. –

Antwort

2

Verwenden

db.execSQL(update); 

wie ,,

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

Sie geben keine Auswahlargumente in Ihre Rohabfrage ein. Sie müssen ein String-Array erstellen und den Namen und die ID-Werte hinzufügen (in dieser Reihenfolge). Dann übergeben Sie das Array als zweites Argument an Ihre rawQuery statt null.

0

Verwenden Sie die Funktion Datenbank zu aktualisieren folgen.

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

} 
Verwandte Themen