我使用此函数从SQlite获取特定数据:
SearchRes getSresultByName(String name) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_WIKIRES, new String[] { KEY_ID,
KEY_SNAME, KEY_SJSON }, KEY_SNAME + "=?",
new String[] { name }, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
SearchRes searchres = new SearchRes(Integer.parseInt(cursor.getString(0)),cursor.getString(1), cursor.getString(2));
return searchres;
}
Run Code Online (Sandbox Code Playgroud)
它工作得很好,我需要创建类似的函数来测试表中是否存在值,所以我尝试了这个:
boolean checkIfExist(String name) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_WIKIRES, new String[] { KEY_ID,
KEY_SNAME, KEY_SJSON }, KEY_SNAME + "=?",
new String[] { name }, null, null, null, null);
if (cursor == null)
return false;
else
return true;
}
Run Code Online (Sandbox Code Playgroud)
但我总是得到正确的.你能帮我搞清楚是什么问题吗?
你不应该检查游标是否为null你应该检查游标中是否有任何东西
if(cursor.moveToFirst()){
return true
}else{
return false;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6514 次 |
| 最近记录: |