我已經編寫了用於比較數據庫中的用戶憑據的代碼。首先我檢查用戶名,然後根據返回的結果,我比較密碼。如果兩者都匹配,我打開另一個活動。代碼對我來說似乎很好,但我對數據庫的東西沒有經驗,我可能會在這裏失去一些至關重要的東西。以下代碼由於某種原因而不起作用。比較查詢SQLite數據庫返回的結果
public boolean Compare(String username, String pass)
{
Cursor c = sqlDB.query(DB_NAME, columns, DB_COL_EMAIL + "='" + username+ "'", null, null, null, null);
if(c!=null && c.getCount()>0)
{
Toast.makeText(context, "inside check", Toast.LENGTH_SHORT).show();
c.moveToFirst();
int passwordCol_number= c.getColumnIndex(DB_COL_PASS);
boolean found = false;
while(c.moveToNext())
{
found = pass.equals(c.getString(passwordCol_number));
if(found)
return true;
}
}
return false;
}
有什麼我做錯了嗎?
Regards
後,你得到這樣我們就可以明白什麼是你遇到 – 7bluephoenix
這裏不回答你的問題的錯誤,但你真的真的應該閱讀有關SQL注入和密碼哈希的'logcat'跟蹤;)(和也是java命名約定) – Guillaume