在Android Studio中使用SQLite执行多个WHERE子句的查询
嗨,我是Android开发者的新手,所以我有一个查询,它将查看我的表,并检查给定用户名和密码的某个记录是否存在,现在我有了这个在Android Studio中使用SQLite执行多个WHERE子句的查询,android,Android,嗨,我是Android开发者的新手,所以我有一个查询,它将查看我的表,并检查给定用户名和密码的某个记录是否存在,现在我有了这个 public user getLOGusr(String uname, String pass) { SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.query(TABLE_USRS, new String[]{KEY_ID,KEY_NAME,KEY_E_ADDR,KE
public user getLOGusr(String uname, String pass)
{
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_USRS, new String[]{KEY_ID,KEY_NAME,KEY_E_ADDR,KEY_PASS} , KEY_NAME + "=?", KEY_PASS + "=?",
new String[]{String.valueOf(uname), String.valueOf(pass)});
return somestuff;
}
但它有很多错误。我的代码有什么改进吗?非常感谢像这样的方法应该会奏效:
public user getLOGusr(String uname, String pass)
{
SQLiteDatabase db = getReadableDatabase();
// replace * with comma-separated column names
// if you do not wish to return all columns
String select = "SELECT * FROM " + TABLE_USRS + " WHERE " + KEY_NAME + " = ? AND " + KEY_PASS + " = ?";
Cursor cursor = db.rawQuery(select, new String[]{uname, pass});
// get the data from the Cursor and return stuff
}
像这样的方法应该会奏效:
public user getLOGusr(String uname, String pass)
{
SQLiteDatabase db = getReadableDatabase();
// replace * with comma-separated column names
// if you do not wish to return all columns
String select = "SELECT * FROM " + TABLE_USRS + " WHERE " + KEY_NAME + " = ? AND " + KEY_PASS + " = ?";
Cursor cursor = db.rawQuery(select, new String[]{uname, pass});
// get the data from the Cursor and return stuff
}
试试这个:
String[] tableColumns = new String[] {
KEY_ID,KEY_NAME,KEY_E_ADDR,KEY_PASS
};
String whereClause = KEY_NAME + " = ? AND " + KEY_PASS + " = ?";
String[] whereArgs = new String[] {
uname,
pass
};
Cursor c = db.query(TABLE_USRS, tableColumns, whereClause, whereArgs, null, null, null);
试试这个:
String[] tableColumns = new String[] {
KEY_ID,KEY_NAME,KEY_E_ADDR,KEY_PASS
};
String whereClause = KEY_NAME + " = ? AND " + KEY_PASS + " = ?";
String[] whereArgs = new String[] {
uname,
pass
};
Cursor c = db.query(TABLE_USRS, tableColumns, whereClause, whereArgs, null, null, null);
当两个参数都是
String
s时调用String.valueOf()
有什么意义?当两个参数都是String
s时调用String.valueOf()
有什么意义?