0

こんにちは、DB のエントリを更新したいのですが、updateEntry 関数のコードを以下に示しています。パスワード フィールドを更新したいのですが、試してみましたが、機能しません。

 public String updateEntry(String Password) {
    // Create object of content values
    ContentValues updatedValues = new ContentValues();
    // Assign values for each item
    // updatedValues.put("USERNAME", User_name);
    updatedValues.put("PASSWORD", Password);

    String where = "PASSWORD=?";
    db.update("LOGINDETAILS", updatedValues, where,
            new String[] { Password });
    return Password;
}

これは、エントリを更新するために私が書いたコードです:

String Passwordnew =loginDataBaseAdapter.updateEntry(Confirm_password);
     Passwordnew=Confirm_password;

DBのパスワードをconfirm_passwordで更新したいところ。良い提案が必要です。

4

3 に答える 3

3
public int UpdateContact(int id,String username,String password) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();

    values.put(USERNAME, username); 
    values.put(PASSWORD, password); 


    // updating Row
    return db.update(LOGINDETAILS, values, KEY_ID + " = ?",
            new String[] { id });


}

このデータベース関数をアクティビティに呼び出します

db.UpdateContact("1","dhaval","1234");
于 2013-08-16T10:03:00.340 に答える
0

ロジックを修正する必要があります。where 句にパスワードを使用しないでください。データベースの主キーであるフィールドを使用してください。おそらくユーザー名または自動インクリメント ID です。

次に、次のコードを使用して更新できます。

public boolean update(int id,String username,String password)
{
    ContentValues cv = new ContentValues();
    String where = id+"=?";

    cv.put(USERNAME, username); 
    cv.put(PASSWORD, password); 

    return db.update(TABLE_NAME, cv, where,new int[] { id })>0;
 }
于 2013-08-16T10:25:47.463 に答える