1 回答

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個贊
我相信你的主要問題是你的邏輯顛倒了。
你基本上是說使用if (cursor.getCount()>0) return false;; 如果搜索用戶找到該用戶,則返回 false。
我相信你想要 if (cursor.getCount()>0) return true;
然而,盡管這不是問題,但使用moveToFirst并沒有增加任何用處。此外,您可能會遇到問題,因?yàn)槟鷽]有關(guān)閉光標(biāo)。
我建議你也許使用:-
public boolean login(String name , String password){
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM USER WHERE NAME=? AND PASSWORD=?", new String[] {name , password});
int count = cursor.getCount();
cursor.close();
return count > 0;
}
這將獲取計數(shù),關(guān)閉游標(biāo),然后如果計數(shù)大于 0(找到用戶密碼組合)則返回 true,否則返回 false;
添加回答
舉報