Android SQLite从数据库获取值

Android SQLite从数据库获取值,android,database,android-sqlite,Android,Database,Android Sqlite,我试图用以下方式从数据库中进行查询 public Cursor getManagementData() { String selectQuery = "SELECT * FROM " + DBHelper.TABLE_STAFF + " WHERE " + DBHelper.COLUMN_DEPARTMENT + " GLOB " + "'management'"; return db.rawQuery(selectQuery, null); } 和我试过的一样 que

我试图用以下方式从数据库中进行查询

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
的所有条目

如果您无法回答,请建议在哪里找到接近的解决方案,因为在谷歌搜索之后,我还没有找到任何关于按条目搜索DB的全面示例,无论是使用rawQuery还是仅使用query

先谢谢你

我已经做了蔡先生推荐的更改,它不会崩溃,但当我的应用程序列表中的“打开”为空时。在运行以下查询的同时:

    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 };

我认为你的质询是错误的。应该是

String selectQuery = "SELECT * FROM " + DBHelper.TABLE_STAFF 
    + " WHERE " + DBHelper.COLUMN_DEPARTMENT + "='management'";

您可以查看基本SQL查询语法

我想您忘记了函数中的equal语句,请使用以下命令:

    String selectQuery = "SELECT  * FROM " + DBHelper.TABLE_STAFF + " WHERE " + 
    DBHelper.COLUMN_DEPARTMENT + "='management'";
DBHelper.COLUMN\u DEPARTMENT必须是您的列名,management必须是您想要的列中的值


您可以阅读这篇文章,并了解有关基本SQL查询的更多信息

为什么在第一个函数中没有equal?它表示语法错误。那就直接问吧。我做错了什么。您知道我可以在哪些网站上找到有关查询使用的全面信息。@user1706819
DBHelper.COLUMN\u DEPARTMENT
?@user1706819您确定值是management吗?它定义了一个表列名,应该类似于
部门
。我怀疑是它导致了SQL中的错误,这就是我询问它的值的原因。public static final String COLUMN\u DEPARTMENT=“DEPARTMENT”;对不起,我没听清你的问题。我以为您是在询问要退休的值。@user1706819那么查询应该可以了。你可以看看我在答案中提供的链接,希望能帮助你解决问题!我看到了Vogel的例子,发现他的资源对像我这样的新开发人员非常有价值。但他没有提供任何关于按值查询的例子