使用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();
变量row为null,而this.db已初始化良好(适用于INSERT语句);此外,id也初始化为值1。
我看不出与sqlite示例项目相比有什么不同,以及为什么它不能正常工作。
是的,有人可以帮帮我吗? 非常感谢。答案 0 :(得分:2)
好的,我只是错过了一个很小但非常重要的一行,调用了next():
Cursor cursor = statement.getCursor();
if(cursor.next())
{
Row row = cursor.getRow();
...