Android SQLiteDatabase:读取一列

Android SQLiteDatabase:读取一列,android,sqlite,Android,Sqlite,我有一个单行数据库,只用于保存应用程序数据。我的目标是从中读取一列(一个值) 此查询返回游标中的所有列: public Cursor readAll() { return getReadableDatabase().query(tableName, null, null, null, null, null, null); } 它返回一个包含一行的游标,非常完美。然而,我不想一次读取所有列,因为它很慢,因为我在db中也有blob。 相反,我只想一次单独阅读一个专栏。例如,对

我有一个单行数据库,只用于保存应用程序数据。我的目标是从中读取一列(一个值)

此查询返回游标中的所有列:

public Cursor readAll() {
       return getReadableDatabase().query(tableName, null, null, null, null, null, null);
    }
它返回一个包含一行的游标,非常完美。然而,我不想一次读取所有列,因为它很慢,因为我在db中也有blob。 相反,我只想一次单独阅读一个专栏。例如,对于一个名为“TEXT”的列,它是这样的:

public Cursor readText() {
      String[] projection = new String[]{"TEXT"};
      return getReadableDatabase().query(tableName, projection, null, null, null, null, null);
    }
但是,这不起作用,因为我返回了一个包含零行的游标


那么,如何在Android中读取SQLiteBatabase中的特定列呢

语法似乎是正确的。请检查列的名称是否正确。显示表格生成代码和实际查询代码可能会有所帮助。

您也可以使用此代码

public Cursor readText() {
      return getReadableDatabase().rawQuery("SELECT colName FROM myTable", new String[] {});
    }
public Cursor readText() {
  return getReadableDatabase().rawQuery("SELECT column_name FROM table_name", null);
}

如果你没有在DB中存储任何二进制数据,你可以考虑使用SysPrasePosits。这将是快速和简单的。