2014-01-20 60 views
0

我正在開發一個Android應用程序,並且我想在我的SQL查詢中在WHERE條件中有兩個單獨的字符串。String SQllite中的條件

這是我的代碼:

 String query=" SELECT * FROM "+USER_TABLE+" where Username=? COLLATE NOCASE and Password=?"; 
    Cursor logincursor= database.rawQuery(query, new String[]{username,password}) 
if (logincursor.moveToFirst()) { 

      user.UserName = logincursor.getString(logincursor 
        .getColumnIndex("Username")); 
      user.Password =new EncryptDecrypt().decrypt(logincursor.getString(logincursor 
        .getColumnIndex("Password"))); 
      user.FullName = logincursor.getString(logincursor 
        .getColumnIndex("Fullname")); 
      user.UserID = logincursor.getInt(logincursor 
        .getColumnIndex("UserID")); 
      user.EmployeeID = logincursor.getInt(logincursor 
        .getColumnIndex("EmployeeID")); 

     } 

請提出一個很好的方法,在我的Android應用程序來實現這一目標。

+0

問題是什麼? – laalto

+0

當我使用字符串作爲條件 – Arun

+1

時,我沒有從我的應用程序獲取任何值請考慮在問題中添加相關代碼。你發佈的SQL沒有錯。 – laalto

回答

0

使用下面的查詢。

db.rawQuery("select * from login_table where username =" + "\""+ username.trim() + "\""+" and password="+ "\""+ password.trim() + "\""+, null); 

OR

db.query(USER_TABLE, new String[] {"*"}," Username = ? and Password =?", new String[]{username,password}, null, null, null); 
+1

如果用戶名是'「或1 = 1;':) – laalto