我有一个名为contacts.db
的数据库,其中一个名为TABLE_NAME
的表有一列名为Contactname
。我想格式化一个查询,以检查我在字符串变量名称中作为值的联系人名称是否已保存为表中的记录,如果不是,那么我想添加它,否则什么都不做。我写的代码如下:
SQLiteDatabase db = events.getReadableDatabase();
int rawNum = DatabaseUtils.queryNumEntries(db, TABLE_NAME,
"Contactname=?", new String[] {contactName});
if(rawNum==0){
addRecord(contactName);
addedCounter+=1;
}
else{
savedCounter+=1;
}
但该应用程序被迫关闭。你能看到查询有什么问题吗?我所做的是查看是否有任何行,如果行数为0,则添加联系人。
答案 0 :(得分:4)
也许是时候更新您的开发套件了。
API级别11引入了代码中使用签名的方法:
public static long queryNumEntries (SQLiteDatabase db, String table, String selection, String[] selectionArgs)
API级别1只有双参数方法:
public static long queryNumEntries (SQLiteDatabase db, String table)