Android 从sqlite数据库检索特定表项
我有一个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
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的提示。这也是我经常犯的错误。。。