我有一个单行数据库,仅用于保存应用数据。我的目标是从中读取一列(一个值)。
此查询返回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读取特定列?
答案 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);
}