2013-02-18 137 views
1

我用SQLiteQueryBuilder從我的數據庫使用下面的代碼SQLiteQueryBuilder返回任何結果

SQLiteQueryBuilder builder = new SQLiteQueryBuilder(); 
builder.setTables("customers"); 
Cursor cursor = builder.query(database, null, null, null, null, null, null); 

查詢信息,但我並沒有在光標

收到任何元素,我相信有數據數據庫

我的代碼有什麼問題?

+2

你真的把你的表命名爲「CUSTOMERS_TABLE」嗎?還是應該是一個變量? – Sam 2013-02-18 18:14:58

+0

爲什麼它第一次使用數據庫,第二次使用ataCollecterApp.database? – Sajmon 2013-02-18 18:38:45

+0

我編輯了代碼 – 2013-02-18 21:03:36

回答

0

很難確定您放置的內容,但最有可能的是您發佈的上一個查詢。

final static String CUSTOMERS_TABLE = "customers"; 
database.rawQuery("select * from CUSTOMERS_TABLE", null); 

如果這是你的代碼實際上是,你所需要的連接具有恆定的查詢,否則因爲CUSTOMERS_TABLE不存在,你會得到任何結果,但customers一樣。

像這樣的事情

final static String CUSTOMERS_TABLE = "customers"; 
database.rawQuery("select * from " + CUSTOMERS_TABLE, null); 

這裏要小心

  • 第一個例子將創建查詢"select * from CUSTOMERS_TABLE"
  • 第二個例子將創建查詢"select * from customers"

如果您你仍然沒有結果,你馬y實際上沒有數據。一定要檢查一下。

+1

我使用第一個語句SQLiteQueryBuilder builder = new SQLiteQueryBuilder(); builder.setTables(「customers」);遊標cursor = builder.query(database,null,null,null,null,null,null);並沒有包括你提到的錯誤,我仍然沒有數據,當我使用第二條語句database.rawQuery(「select * from customers」,null);我得到的數據 – 2013-02-18 22:02:36

+0

您需要更改'database.rawQuery(「select * from CUSTOMERS_TABLE」,null);'to'database.rawQuery(「select * from」+ CUSTOMERS_TABLE,null);' – Kirk 2013-02-18 22:10:02

+0

no this command for me for me但SQLiteQueryBuilder builder = new SQLiteQueryBuilder(); builder.setTables(「customers」);遊標cursor = builder.query(database,null,null,null,null,null,null);不起作用 – 2013-02-19 08:10:12