2011-03-02 19 views
0

在處理Backberry的應用程序時,我遇到了以下與sqlite數據庫有關的問題。聲明中的sqlite SELECT不檢索任何行

本語句也適用於sqlite的經理罰款,並在數據庫中檢索相應的數據:如果我創建net.rim.device.api.database.Statement的一個實例是這樣

SELECT Z_PK,Z_NAME,Z_STATUS from ZTABLE WHERE Z_PK=1 

現在:

Statement statement = this.db.createStatement("SELECT Z_PK,Z_NAME,Z_STATUS FROM ZTABLE WHERE Z_PK=?1"); 
statement.prepare();     
statement.bind(1, id.intValue()); 
Cursor cursor = statement.getCursor();    
Row row = cursor.getRow(); 

變量行爲空,而this.db已被很好地初始化(它適用於INSERT語句);此外,ID也很好地初始化爲值1.

我看不出與sqlite示例項目相比有什麼不同,以及爲什麼這不起作用。

有人可以幫我嗎? 非常感謝。

回答

2

好吧,我只是錯過了與調用很小但很重要的線旁():

Cursor cursor = statement.getCursor(); 
if(cursor.next()) 
{ 
    Row row = cursor.getRow(); 
    ...