我正在执行以下代码...
SQLiteDatabase db = getReadableDatabase();
SQLiteQueryBuilder querything = new SQLiteQueryBuilder();
String sqlTables = "ZSITESUSES";
String [] sqlSelect = { "ZUSE_ID"};
querything.setTables(sqlTables);
Cursor cursor = querything.query(db, sqlSelect, "ZSITE_ID=1014", null,null, null, null);
DatabaseUtils.dumpCursor(cursor);
cursor.moveToFirst();
在数据库上,如下面的数据库浏览器所示(数据库查看器有一个故障,它没有正确显示下划线 - 请忽略):
输出是:
>>>>> Dumping cursor android.database.sqlite.SQLiteCursor@41e679b0
0 {
ZUSE_ID=null
}
1 {
ZUSE_ID=null
}
2 {
ZUSE_ID=null
}
<<<<<
我对数据库非常缺乏经验。光标包含三个组件的事实看起来是正确的,但“ZUSE_ID=null”对我来说看起来是错误的。如果我执行 cursor.getString(0) 答案是 null 这绝对是错误的。
有任何想法吗?
编辑:根据 njzk2 的建议,我改为使用
字符串 [] sqlSelect = { "ZSITE_ID","ZUSE_ID","ZUSE_PERCENT","ZSITEUSE_ID" };
然后相应的输出是:
>>>>> Dumping cursor android.database.sqlite.SQLiteCursor@41ba4570
0 {
ZSITE_ID=1014
ZUSE_ID=null
ZUSE_PERCENT=10
ZSITEUSE_ID=null
}
1 {
ZSITE_ID=1014
ZUSE_ID=null
ZUSE_PERCENT=30
ZSITEUSE_ID=null
}
2 {
ZSITE_ID=1014
ZUSE_ID=null
ZUSE_PERCENT=70
ZSITEUSE_ID=null
}
<<<<<
编辑:这太奇怪了,我决定卸载并重新安装我的应用程序 - 瞧瞧 - 一切都开始完美运行...... arrrggghh!