Вы можете использовать следующее.
public void onClick(View v) {
SettingModel txn = new SettingModel(); // initialize your model class first
txn.setH1(h1.getText().toString());
txn.setH2(h2.getText().toString());
txn.setH3(h3.getText().toString());
txn.setH4(h4.getText().toString());
txn.setPerson_Charge(Person_Charge.getText().toString());
txn.setUnit_Code(unit_Code.getText().toString());
SQLiteDatabase db = dbHelper.getWritableDatabase();
Cursor csr = db.query("Information",null,null,null,null,null,null);
int rowcount = csr.getCount();
csr.close();
ContentValues cv = new ContentValues();
cv.put("header1", txn.getH1()); // get the entered name here.
cv.put("header2", txn.getH2());
cv.put("header3", txn.getH3());
cv.put("header4", txn.getH4());
cv.put("unitcode", txn.getUnit_Code());
cv.put("personInCharge", txn.getPerson_Charge());
if (rowcount == 0) {
db.insert("Information", null, cv);
Toast.makeText(Setting_Page.this, "Add successfully", Toast.LENGTH_SHORT).show();
} else {
db.update("Information",cv,null,null);
Toast.makeText(Setting_Page.this, "Updated successfully", Toast.LENGTH_SHORT).show();
}
db.close();
}
- Обратите внимание, что вышеприведенный код является принципиальным и не был проверен, поэтому может содержать ошибки.
Альтернативный метод (возможно, кто-то скажет правильный метод) состоит в том, чтобы создать УНИКАЛЬНОЕ (индексное) ограничение для столбца или столбцов, а затем использовать insertWithonConflict
с CONFLICT_REPLACE (это эквивалент SQL INSERT OR REPLACE .......
).