我没有收到任何错误的应用程序运行顺利。在重新访问应用程序并在textview中执行更改时,我尝试使用date(column1-primary key)更新特定行,并使用该textview值更新column2,但它不更新列数据。它会一直显示我第一次插入的数据。
DbHelper.class
public boolean UpdateData(String date, String waterConsumption){
SQLiteDatabase db=this.getWritableDatabase();
ContentValues contentValues=new ContentValues();
//contentValues.put(DB_COLUMN1_1,date);
contentValues.put(DB_COLUMN1_2,waterConsumption);
int result = db.update(DB_TABLE1,contentValues,DB_COLUMN1_1+"=?",new String[]{date});
return result > 0;
}
这是在按返回键更新我的数据时的代码。另外,我的插入查询可根据我的要求正常运行。
@Override
public void onBackPressed(){
myDb =new DbHelper(this);
score = findViewById(R.id.Score); //textview
String date = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(new Date());
boolean isUpdated= myDb.UpdateData(date,score.getText().toString());
if (!isUpdated){
boolean isInserted = myDb.insertData(date,score.getText().toString());
if (!isInserted)
Toast.makeText(WaterTracker.this,"Not Inserted",Toast.LENGTH_LONG).show();
}
finish();
//moveTaskToBack(true);
}