我正试图通过以下方式从DB进行查询
public Cursor getManagementData() {
String selectQuery = "SELECT * FROM " + DBHelper.TABLE_STAFF + " WHERE " + DBHelper.COLUMN_DEPARTMENT + " GLOB " + "'management'";
return db.rawQuery(selectQuery, null);
}
我尝试了同样的事情
query(DBHelper.TABLE_STAFF, new String[] {
DBHelper.COLUMN_ID, DBHelper.COLUMN_NAME,
DBHelper.COLUMN_LAST_NAME, DBHelper.COLUMN_POSITION,
DBHelper.COLUMN_DEPARTMENT, DBHelper.COLUMN_PICTURE }, null,
new String[] { "management" }, null, null, null);
但没有任何反应。
表结构非常简单:使用列staff
的表department
,我希望获得名为management
的所有条目。
如果您无法回答,请建议在哪里找到密切的解决方案,因为在谷歌搜索后我没有找到任何关于通过条目搜索数据库的综合示例,无论是使用rawQuery还是仅查询。
提前谢谢。
我已经对Mr.Choy进行了更改建议它不会崩溃但是在我的应用列表中打开时是空的。在我运行以下查询的同时:
public Cursor getEmployeesData() {
return db.query(DBHelper.TABLE_STAFF, new String[] {
DBHelper.COLUMN_ID, DBHelper.COLUMN_NAME,
DBHelper.COLUMN_LAST_NAME, DBHelper.COLUMN_POSITION,
DBHelper.COLUMN_DEPARTMENT, DBHelper.COLUMN_PICTURE }, null,
null, null, null, null);
}
它显示了应有的所有数据。
可能是游标适配器def的问题。我用:
String[] from = new String[] { DBHelper.COLUMN_NAME, DBHelper.COLUMN_LAST_NAME,
DBHelper.COLUMN_POSITION, DBHelper.COLUMN_DEPARTMENT,
DBHelper.COLUMN_PICTURE };
int[] to = new int[] { R.id.textView1, R.id.textView2, R.id.textView3,
R.id.textView4, R.id.imageView1 };
答案 0 :(得分:1)
我认为您的原始查询是错误的。它应该是
String selectQuery = "SELECT * FROM " + DBHelper.TABLE_STAFF
+ " WHERE " + DBHelper.COLUMN_DEPARTMENT + "='management'";
您可以查看基本的SQL查询语法here
答案 1 :(得分:0)