Java 如何更新特定行

Java 如何更新特定行,java,android,android-sqlite,Java,Android,Android Sqlite,p它的对象是人 p.setFname(etname.getText().toString()); p.setLname(etfname.getText().toString()); p.setPassword(etpass.getText().toString()); p.setBirthday(spinnerDay.getSelectedItem().toString() + "/" +spinnerMonth.getSelectedItem().toString() + "/" + s

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

尝试使用此选项更新名称和密码,即:

ContentValues vContentValues = new ContentValues();
vContentValues.put("NAME", "coral1235");
vContentValues.put("PASS", "1234");
sqLiteDatabase.update(TABLE_NAME, vContentValues, null, null)
编辑:如果要替换特定行,必须写入条件。将电子邮件所在行的最后一行替换为该行,即。coral1235@mail.com:

sqLiteDatabase.update(TABLE_NAME, vContentValues, EMAIL + "=?" , new String[]{"coral1235@mail.com"});

电子邮件字段是您的主键,因此:
更新所有用户集name='aaa',pass='bbb'WHERE email='2!'aaaa@bbbb.com
'您需要传递
whereClause
wherergs
这是错误的,这将更新表中的所有记录。是的,我没有看到问题帖子中请求的任何条件,所以它是空的。不管怎样,答案是用电子邮件的条件更新的,“如何更新特定行”问题的标题是什么