0
我试图在使用查询选择记录后检查记录是否存在。我在这'管理员“ABC123表一个记录”,我尝试使用下面的下面的代码:检查数据库中是否存在记录
//Define our database variables that we will use to get our data.
dbhelper = new DBHelper(this);
SQLiteDatabase db = dbhelper.getReadableDatabase();
//Define our select query here, check if username and password exists.
String selectQuery = "SELECT * FROM " + dbTables.userTABLE +
" WHERE " + dbTables.username +
" = " + "'" + input_name + "'" + " AND " +
dbTables.userpassword + " = " + "'" + input_password + "'";
Cursor c = db.rawQuery(selectQuery, null);
//If the raw query was successfull.
if(c.moveToFirst()){
Integer userID = c.getInt(0);
String userName = c.getString(1);
String userPassword = c.getString(2);
boolean exists = (c.getCount() > 0);
if(exists)
{
Log.d("Database", userID.toString());
Log.d("Database", userName.toString());
Log.d("Database", userPassword.toString());
}
else
{
Log.d("Database NO", "NO");
}
}
c.close();
db.close();
这工作时记录时记录不存在,它不存在。然而”根本不打印任何东西。我已经尝试输入数据库中不存在的其他用户名和密码,但似乎没有打印任何内容。我究竟做错了什么?
一个不选择*。它会将所有列移动到缓冲区。只选择一列。第二,不要发明自己的安全。 Ping一个服务进行身份验证。 – danny117
这不涉及你的问题,但使用准备好的语句!您的代码容易受到SQL注入攻击。 – RichN