我想做以下事情:我想检查我的数据库表是否已经存在。如果没有,它应该成功(createEntry)。一旦它创建了一条记录,我想继续用新信息更新同一条记录(updateEntry)(所以基本上用新信息覆盖第一条记录)。
我现在使用布尔值的问题是它创建了数据库(这很好),但是当我读取另一个二维码并想要更新我的记录中的信息时,它只是将信息写入第二条记录。基本上它一直在做 createEntry 而不是 updateEntry。
布尔值可能有什么问题?我似乎找不到它。
private void insertQR(String doctorID, String doctorFullName, String patientID, String apiKey) {
DatabaseHelper databaseHelper = new DatabaseHelper(this);
databaseHelper.open();
boolean dbExist = checkDB();
if (dbExist == true)
{
databaseHelper.createEntry(doctorID, doctorFullName, patientID, apiKey);
}
databaseHelper.updateEntry(0,doctorID, doctorFullName, patientID, apiKey);
databaseHelper.close();
}
private boolean checkDB() {
SQLiteDatabase checkDB = null;
try {
checkDB = SQLiteDatabase.openDatabase("/data/data/rem.med.artesis/databases/qrreader.db", null,
SQLiteDatabase.OPEN_READONLY);
checkDB.close();
} catch (SQLiteException e) {
// database doesn't exist yet.
}
return checkDB != null ? true : false;
}
}