查询显示没有结果并且没有给出任何错误.control没有进入if块内部帮助我知道我在做什么错误? 我已经尝试了很多方法来获得结果,但都是徒劳的。当我在if语句之前尝试以下内容时
int column=cur.getColumnCount();
Row row=cur.getRow();
row.getString(0);
然后我得到了结果集关闭异常
Database db=null;
Cursor cur=null;
System.out.print("Printing from accounts class "+Email+Password);
String [] param={Email,Password};
System.out.print(param[0]+param[1]);
try{
db=Display.getInstance().openOrCreate("UserAccountsDB.db");
cur= db.executeQuery("select * from APPUserInfo WHERE Email=? AND Password=?",(String [])param);
int columns=cur.getColumnCount();
if(columns > 0) {
boolean next = cur.next();
while(next) {
Row currentRow = cur.getRow();
String LoggedUserName=currentRow.getString(0);
String LoggedUserPassword=currentRow.getString(1);
System.out.println(LoggedUserName);
next = cur.next();
}
}
}catch(IOException ex)
{
Util.cleanup(db);
Util.cleanup(cur);
Log.e(ex);
}
finally{
Util.cleanup(db);
Util.cleanup(cur);
}
答案 0 :(得分:0)
正如@jobin在评论中所说,光标到结果会出现在第一个条目之前,所以直到你第一次调用next()
时才能访问数据。
似乎表是空的,这意味着DB中没有用户匹配电子邮件/密码。尝试删除email / password子句以获取要验证的所有用户的列表。