Android SQLiteDatabase:读一列

时间:2010-12-07 14:07:16

标签: android sqlite

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

此查询返回Cursor中的所有列:

public Cursor readAll() {
       return getReadableDatabase().query(tableName, null, null, null, null, null, null);
    }

它返回一个Cursor,其中包含一行,非常完美。但是,我不想一次读取所有列,因为它也很慢,因为我在db中也有blob。 相反,我想一次只读一列。例如,对于名为“TEXT”的列,它将是:

public Cursor readText() {
      String[] projection = new String[]{"TEXT"};
      return getReadableDatabase().query(tableName, projection, null, null, null, null, null);
    }

然而,这不起作用,因为我找回零行的Cursor。

那么,如何从Android中的SQLiteBatabase读取特定列?

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

你也可以使用这个

public Cursor readText() {
  return getReadableDatabase().rawQuery("SELECT column_name FROM table_name", null);
}