【问题标题】:cursor return column names instead of values游标返回列名而不是值
【发布时间】:2014-06-20 23:23:34
【问题描述】:

我想从 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));

无论如何,有 2 个类似的问题,但没有一个解决方案解决了我的问题

Get the field value with a Cursor

How to get field value instead of column name?

期待您的回复,谢谢

【问题讨论】:

    标签: android sqlite android-sqlite android-cursor


    【解决方案1】:

    我认为您的列名应该只是字符串。

    "reg_number" not "'reg_number'"
    

    还要确保您使用的是正确的类型。 “reg_number”列中存储的值真的是字符串吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多