我在SQLite数据库中有一个表,该表由几个int组成,我想在添加新行之前检查对是否已经存在。
我有这个函数,它从表TableName(id1,id2)返回数据:
public Cursor getIds() {
return db.rawQuery("SELECT * FROM " + TABLE_NAME, null);
}
在另一堂课中,我有这些:
int int1 = 14
int int2 = 2564
if (????) {
m.addToTable(int1, int2);
} else {
//Datas already exists
}
我需要怎么做才能将int1与列id1中的值进行比较,以及将int2与列id2中的值进行比较?
最佳答案
创建此方法:
public boolean existIds(int id1, int id2) {
Cursor c = db.rawQuery(
"SELECT * FROM " + TABLE_NAME + " WHERE id1 = ? AND id2 = ?",
new String[]{String.valueOf(id1), String.valueOf(id2)}
);
boolean result = c.getCount() > 0;
c.close();
return result;
}
现在,您可以在代码中使用它:
int int1 = 14
int int2 = 2564
if (!existIds(int1, int2)) {
m.addToTable(int1, int2);
} else {
//do something because the ids already exist
}