2017-05-11 7 views
0

pそのオブジェクトのオブジェクト。特定の行を更新するには

p.setFname(etname.getText().toString()); 

p.setLname(etfname.getText().toString()); 

p.setPassword(etpass.getText().toString()); 

p.setBirthday(spinnerDay.getSelectedItem().toString() + "/" 
+spinnerMonth.getSelectedItem().toString() + "/" + spinnerYear.getSelectedItem().toString()); 

ここで、私は新しい名前を付けて、どのようにして、前にデータベースにあったものすべてをインストールしますか?

これは私のデータベースです:

public class DBHelper extends SQLiteOpenHelper{ 

    private static final String DATABASE_NAME = "users.db"; 
    private static final int DATABASE_VERSION = 1; 

    public static final String TABLE_NAME = "all_users"; 
    public static final String NAME = "name"; 
    public static final String FNAME = "fname"; 
    public static final String EMAIL = "email"; 
    public static final String PASS = "pass"; 
    public static final String BDAY = "bday"; 
    public static final String GENDER = "gender"; 

    public DBHelper(Context context) { 
     super(context, DATABASE_NAME, null,DATABASE_VERSION); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase sqLiteDatabase) { 
     String SQL_Create="CREATE TABLE "+TABLE_NAME+" ("; 
     SQL_Create+=NAME+" TEXT, "; 
     SQL_Create+=FNAME+" TEXT, "; 
     SQL_Create+=EMAIL+" TEXT PRIMARY KEY, "; 
     SQL_Create+=PASS+" TEXT, "; 
     SQL_Create+=BDAY+" TEXT, "; 
     SQL_Create+=GENDER+" TEXT); "; 

     sqLiteDatabase.execSQL(SQL_Create); 
+0

まあ、電子メールフィールドは、あなたのように主キーです: 'UPDATEのALL_USERSセット名=「AAA」、パスは=「BBB」WHEREメール= 'aaaa @ bbbb.com'' – Michael

答えて

-1

は名前とパスワードすなわちを更新するためにこれを試してみてください。:

ContentValues vContentValues = new ContentValues(); 
vContentValues.put("NAME", "coral1235"); 
vContentValues.put("PASS", "1234"); 
sqLiteDatabase.update(TABLE_NAME, vContentValues, null, null) 

EDIT:あなたが特定の行を交換したい場合、あなたは条件を記述する必要があります。電子メールはすなわち[email protected]ある場合、行のためにこれで最後の行を置き換えます。

sqLiteDatabase.update(TABLE_NAME, vContentValues, EMAIL + "=?" , new String[]{"[email protected]"}); 
+0

'whereClause'と' whereArgs'を渡す必要があります。これが間違っていれば、これはテーブルのすべてのレコードを更新します。 – Yazan

+0

ええ私はどんな状態でも問題の投稿を要求していないので、それはnullです。とにかく、回答はメールの条件で更新されます – tompadre

+0

質問のタイトルはどうですか? "**特定の**行を更新する方法" – Yazan

関連する問題