Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从sqlite数据库检索特定表项_Android_Database_Sqlite - Fatal编程技术网

Android 从sqlite数据库检索特定表项

Android 从sqlite数据库检索特定表项,android,database,sqlite,Android,Database,Sqlite,我有一个SQLite数据库,我正试图查询该数据库以查找特定类型的所有项。以下是我正在调用的函数,以便查询我的数据库: Cursor c = dbi.DBGrabTable("LEGS",ExerciseListActivity.this); 以下是函数定义: public Cursor DBGrabTable(String type, Context ctx){ String query="SELECT * FROM " + DBContra

我有一个SQLite数据库,我正试图查询该数据库以查找特定类型的所有项。以下是我正在调用的函数,以便查询我的数据库:

Cursor c = dbi.DBGrabTable("LEGS",ExerciseListActivity.this);
以下是函数定义:

 public Cursor DBGrabTable(String type, Context ctx){

    String query="SELECT * FROM " + DBContract.DBEntry.TABLE_EXERCISES + " WHERE Type=" + type;
    DBContract.DBHelper mDBHelper = new DBContract.DBHelper(ctx);
    SQLiteDatabase rdb = mDBHelper.getReadableDatabase();

    Cursor  c = rdb.rawQuery(query,null);

    if (c != null)
        return c;
    else
        return null;
}
我得到的错误如下:

android.database.sqlite.SQLiteException:没有这样的列:LEGS(代码1):,编译时:从Type=LEGS的练习中选择*

因此,我认为它与SQL查询有关。我不确定为什么它会说“没有这样的列:LEGS”。我试图查询我的数据库,在列标题“Type”下的名为“Exercises”的表中查找,并选择该列中有LEGS一词的所有项目


有人能看出我做错了什么吗?非常感谢你

1-检查表定义列和表名是否可用

2-如果表和列可用且类型为文本,请更改sql查询并重试

String query="SELECT * FROM " + DBContract.DBEntry.TABLE_EXERCISES + " WHERE Type=" + "'" + type + "'";

使用此查询并确保在维护中使用空格和倒逗号。检查表_练习中的列名(类型)

"SELECT * FROM " + DBContract.DBEntry.TABLE_EXERCISES + " WHERE Type = '" + columnValue + "'";
将光标移动到表格的最后一行

if (cursor != null) {
     if (cursor.getCount() > 0) {
         cursor.moveToFirst();
         do {

        } while (cursor.moveToNext());
    }
}

该死,你很好!我所需要的只是类型周围的单引号。我知道,每当您使用多个表连接查询时,我通常会得到另一个添加表(点)COLUMNNAME的提示。这也是我经常犯的错误。。。