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