2010-12-07 27 views
1

我有一行數據庫僅用於保存應用程序數據。我的目標是從中讀取一列(一個值)。Android SQLiteDatabase:讀取一列

該查詢返回遊標中的所有列:

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讀取特定列?

+0

如果u沒有存儲在數據庫的任何二進制數據,則可以考慮在這裏使用SharedPreferences。這將是快速和容易的。 – Varun 2010-12-07 14:15:53

回答

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

語法看起來是正確的。請檢查您是否使用了列的正確名稱。顯示錶格生成代碼和實際查詢代碼可能會有所幫助。

0

您可以使用這其中也

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