2017-03-01 1 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); 문자열 데이터 [] [] = 새 문자열 [4] [5]; int x = -1; while (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

관련 문제