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
这是错误的,这将更新表中的所有记录。是的,我没有看到问题帖子中请求的任何条件,所以它是空的。不管怎样,答案是用电子邮件的条件更新的,“如何更新特定行”问题的标题是什么