sqlite SELECT в Statement не получает ни одной строки - PullRequest
0 голосов
/ 02 марта 2011

Работая над приложением для Backberry, у меня возникает следующая проблема, связанная с базой данных sqlite.

Этот оператор отлично работает в менеджере sqlite и получает соответствующие данные в базе данных:

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

Теперь, если я создаю экземпляр net.rim.device.api.database.Statement следующим образом:

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 и почему это не работает так, как должно.

Кто-нибудь может мне помочь, пожалуйста?Большое спасибо.

1 Ответ

2 голосов
/ 02 марта 2011

Хорошо, я просто пропустил небольшую, но очень важную строку с вызовом next ():

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