Android 为什么我会得到一个空游标SQLLite

Android 为什么我会得到一个空游标SQLLite,android,sqlite,sqliteopenhelper,Android,Sqlite,Sqliteopenhelper,我自己做了SQLiteOpenHelper,它正确地填充了。我的问题是,当我尝试执行rawquery以获取所需的值时,光标是空的。我检查了我的数据库,并且试图获取的值存在。那么我做错了什么? 这是我用于SELECTquery的代码 SQLiteDatabase db=this.getReadableDatabase(); String[] params=new String[]{String.valueOf(actd)}; Cursor cursor=db.rawQuery("SELECT

我自己做了
SQLiteOpenHelper
,它正确地填充了。我的问题是,当我尝试执行
rawquery
以获取所需的值时,光标是空的。我检查了我的数据库,并且试图获取的值存在。那么我做错了什么? 这是我用于
SELECT
query的代码

SQLiteDatabase db=this.getReadableDatabase();

String[] params=new String[]{String.valueOf(actd)};

Cursor cursor=db.rawQuery("SELECT * FROM "+ tablename +" WHERE '"+dayStart+"' = ?",params);

Log.d("Cursor State", String.valueOf(cursor.moveToFirst()));
希望您能帮助我,因为我被困在这里。

尝试添加:

startManagingCursor(cursor);
在查询之后


注意:此方法已被弃用,但仍然有效。如果想要更好的实现,请使用
CursorLoader

在dayStart参数周围加上无效引号

Cursor cursor=db.rawQuery("SELECT * FROM "+ tablename +" WHERE "+dayStart+ "= ?",params);

是因为“dayStart”周围有单引号吗?是否尝试单独记录查询字符串以进行调试?@Phillip Fitzsimmons如果我删除单引号,它将检测不到列名:S@Estel你能给我一个如何制作的例子吗?Weeell问题解决了,我创建的BD错误,我并没有在列名和列类型之间加空格:正如Phillip所说,P个单点被删除。谢谢你的评论:D