我想从表格中获取数据"学生"在SQLite android数据库中
这是我用来检索数据的方法
public Cursor getAllStudent(){
SQLiteDatabase db= helper.getWritableDatabase();
String[] columns={"_id",
"'reg_number'",
"'School_id'",
"'class_id'",
"'first_name'",
"'last_name'",
"'PPN'",
"'photo'",
"'CyncStatus'"};
Cursor cursor=null;
try {
cursor = db.query("student",columns,null, null,null,null,null);
} catch (Exception e) {
// TODO Auto-generated catch block
Log.d("select student failed: %d", e.toString());
}
return cursor;
}
这就是我遍历结果的方式
Cursor c1 = studentHelperAdapter.getAllStudent();
c1.moveToFirst();
while (!c1.isAfterLast()){
String reg = c1.getString(1); // return column name not value
String name = c1.getString(4); //return name column not value
String reg = c1.getString(5); //return name column not value
c1.moveToNext();
}
c1.close();
我试图在下面添加这一行来查看游标内容,我意识到没有数据被提取只有列名
Log.d("AB cursor ",android.database.DatabaseUtils.dumpCursorToString(c1));
无论如何,有两个类似的问题,但没有一个解决方案解决了我的问题
Get the field value with a Cursor
How to get field value instead of column name?
我期待在这里看到你的答案,谢谢
答案 0 :(得分:4)
我认为你的列名应该只是字符串。
"reg_number" not "'reg_number'"
还要确保使用的是正确的类型。该值是否存储在" reg_number"列中?真的是一个字符串?