我创建了一个登录表单,我在其中创建了sqlite数据库,在此我想比较数据库中的Count或Email,如果我的电子邮件在数据库中,那么它将检查密码,或者我的电子邮件不在数据库中,所以它将调用Web服务。
那么如何比较电子邮件或检查用户从数据库输入的数量?
答案 0 :(得分:1)
在此方法中,我检查用户名是否已存在于数据库中。
// Read Section
public Boolean checkUsername(String username) throws SQLException {
Cursor mCursor = db.query(TABLE_USERS, new String[] { ID, KEY_NAME,
KEY_USERNAME }, KEY_USERNAME + "=" + "'" + username + "'",
null, null, null, null, null);
if (mCursor.moveToFirst()) {
return true;
}
return false;
}
在此方法中,我传入用户名和密码以检查凭据是否匹配,以及是否我们将其登录。
public Cursor login(String username, String password) throws SQLException {
Cursor mCursor = db.query(TABLE_USERS, new String[] { ID, KEY_NAME,
KEY_USERNAME }, KEY_USERNAME + "=" + "'" + username + "'"
+ "AND " + KEY_PASSWORD + "=" + "'" + password + "'", null,
null, null, null, null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
答案 1 :(得分:0)
使用
rawquery("SELECT * FROM YOUR_DATABASE_TABLENAME WHERE username=? AND password=?",new String[] {username,password});
将它作为Cursor=db.rawquery("SELECT * FROM YOUR_DATABASE_TABLENAME WHERE username=? AND password=?",new String[] {username,password});
存储在游标对象中并检查游标是否为空,如果不是,则检查(cursor.getcount()>0)
以确定是否发生错误,如果返回-1则发生错误。返回存在功能的mainActivity,并以吐司或其他方式显示结果。希望它有所帮助。
答案 2 :(得分:0)
您可以输入这样的查询
Cursor cm = odb.rawQuery("SELECT * FROM " +
DATABASE_TABLE + " WHERE " +
KEY_ID + "=? AND " +
KEY_DATE + "=?",
new String[]{id, date});