【发布时间】:2022-01-26 10:56:34
【问题描述】:
我有一个内存中的 SQLite DB,并在运行时创建了一个带有 ID、用户名和密码的行。该插入返回 1。
之后,我运行以下函数来检查创建用户的用户凭据与输入字段中的用户凭据,这些凭据与上面创建的用户使用的凭据完全相同。 (基本上,我检查用户是否已经存在,如果不存在,我使用输入的凭据创建用户并立即检查以验证登录)
最后的 getCount 总是返回 0,我不知道为什么。调试器显示用户名和密码的正确凭据,我开始没时间了...期末考试项目...
public boolean checkUser(String username, String password) {
String[] columns = new String[]{
COL_USERNAME,
COL_PASSWORD
};
SQLiteDatabase db = this.getReadableDatabase();
String selection = COL_USERNAME + " = ?" + " AND " + COL_PASSWORD + " = ?";
String[] selectionArgs = {username, password};
Cursor c = db.query(
T_USER,
columns,
selection,
selectionArgs,
null,
null,
null);
int cursorCount = c.getCount();
c.close();
db.close();
if (cursorCount > 0) {
return true;
}
return false;
}
【问题讨论】:
标签: java database sqlite android-studio android-sqlite