db.Query导致致命异常的原因

时间:2011-10-27 16:44:41

标签: android sqlite

环境:Android 数据库:基于SQLite

我有一个用sqlite创建的数据库,该数据库包含用户详细信息,如登录名,密码,姓名,姓氏,国家。我的问题是创建查询,它将检查登录名和密码[所以选择查询],而不是允许或不继续。

public void logineSelector(String log, String pass){
String[] kolumny = new String[]{colLogin, colPassword};
Cursor cursor= sqLiteDatabase.query(Usr_TABLE, kolumny, pass, null, null, null, null);
}

但这会让整个程序一团糟,调试控制台给我这个:

Fatal Exception: Main
Java.lang.IllegalStateException: Could not execute method of the activity
.....

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您没有使用正确的参数调用查询方法。查看javadoc

如果您尝试使用传递给方法的登录名/密码来查找用户,您可能希望执行以下操作:

Cursor cursor = sqLiteDatabase.query(Usr_TABLE, kolumny,USER_COL+"= ? and "+PASS_COL + "= ?", new String[]{log,pass},null,null,null);

假设您已定义USER_COL和PASS_COL以包含相关列的名称。