2017-03-01 58 views
-3

我有一個表,我想從中獲取特定項目。來自表的具體數據

例如以下語句:

"SELECT password FROM "+tableName+" WHERE username='"+username+"'";

如何使用這句話,讓我問密碼的字符串值?

(我能得到的光標,但我無法從它那裏得到它的字符串值)

SQLiteDatabase db = this.getWritableDatabase(); 
    Cursor cursor = null; 
    String sql ="SELECT password FROM "+tableName+" WHERE username='"+username+"'"; 
    cursor= db.rawQuery(sql,null); 
    String checked = cursor.getString(3); 
    if(checked.equals(password)){ 
     return true; 
    }else{ 
     return false; 
    } 

的problam與線:

String checked = cursor.getString(3); 

有什麼建議?

+1

您需要首先'moveToFirst'您的光標。在Android上閱讀任何教程或對SQL的介紹。 – njzk2

+0

只需添加'cursor.moveToFirst()'? –

回答

0

我建議使用這個 cursor.getString(cursor.getColumnIndex(「column name」)); 致以問候

+0

它沒有幫助 –

+0

真的嗎?不要忘了先這樣做:'Cursor res = db.rawQuery(sql,null); String data [] [] = new String [4] [5]; int x = -1; (res.moveToNext()){ x ++; data [x] [0] = res.getString(res.getColumnIndex(「test」)); data [x] [1] = res.getString(res.getColumnIndex(「test1」)); data [x] [2] = res.getString(res.getColumnIndex(「test2」)); data [x] [3] = res.getString(res.getColumnIndex(「test3」)); data [x] [4] = res.getString(res.getColumnIndex(「test4」)); }'這應該有效,它對我有用:= – BrnPer