2012-08-16 102 views
0

我tryed這一點:如何更新特定行中的SQLite數據庫?

public void updateCharacter(String charName, int level, int stamina) 
     { 
      ContentValues args = new ContentValues(); 
      //args.put(KEY_CHAR_NAME, charName); 
      args.put(KEY_LEVEL, level); 
      args.put(KEY_STAMINA, stamina); 


      db.update(CHARACTERS_TABLE, args, KEY_CHAR_NAME + "=" + charName, null); 
     } 

這是我的FUNC電話:

db.updateCharacter("myPlayer", 2, 2); 

獲取此異常:

android.database.sqlite.SQLiteException: no such column: myPlayer: , while compiling: UPDATE characters_table SET level=?, stamina=? WHERE charName=myPlayer 

進出口99%肯定,我有這樣一個專欄中,我可以打印出來,我看到它在一個佈局中,在第一列KEY_CHAR_NAME(charName)中定義了myPlayer,所以出了什麼問題?

回答

2

使用此

db.update(CHARACTERS_TABLE,ARGS,KEY_CHAR_NAME + 「=」,新 的String [] {} CHARNAME)

+0

作品,謝謝。! – 2012-08-17 06:37:47

1

而不是

db.update(CHARACTERS_TABLE, args, KEY_CHAR_NAME + "=" + charName, null); 

試試這個

db.update(CHARACTERS_TABLE, args, KEY_CHAR_NAME + "=" + "charName", null); 
1

我希望你需要把字符的名稱在引號。大概是這樣的:

db.update(CHARACTERS_TABLE, args, KEY_CHAR_NAME + "=\"" + charName + "\"", null);