我想使用游标检查数据库内容的值。我能够获取数据库的内容,但我无法正确检查我想要添加的数据是否已存在于数据库中。
以下是我的代码片段。
for(int i=1;i<=cursor.getCount();i++){
Cursor cursor = adapter.fetchAllQRurl();
cursor.moveToFirst();
if (!(contents.equals(cursor.getString(i)))){
adapter.addQRUrl(contents);
}
else{
Log.d("SAME ENTRY", "the url already exists");
}
cursor.moveToNext();
}
}
我使用了for循环,所以我可以检查数据库中的所有条目。我似乎没有得到正确的价值观。 cursor.getString(i)的值似乎不正确。当我对i的值进行硬编码时,例如cursor.getString(1),它只检查数据库上的第一个条目。但如果“i”是columnIndex的值,我会得到一个例外。 可能的原因是什么?感谢。
我的代码是否正确?
这就是我创建表格的方式:
db.execSQL("CREATE TABLE " + QRCODE_LINK + "(" + VidCallDbAdapter.KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + VidCallDbAdapter.QRLINK + " text, " + VidCallDbAdapter.KEY_INHISTORY + " text not null);" );