2017-01-18 3 views
-1

私はこのクエリを試して、カーソルは常にNULLに戻ります。テーブルの "members"は1レコードあります、ありがとうございます。カーソルは常にnullを返します - SQLite

sql = "SELECT nick, pass FROM miembros LIMIT 1"; 

    cursor = write.rawQuery(sql, null); 
    if (cursor != null){ 
     if(cursor.moveToFirst()) { 
      nickDB = cursor.getString(0); 
      passDB = cursor.getString(1); 
      resp[0] = nickDB; 
      resp[1] = passDB; 
     } 

     // Cierra el cursor 
     if(!cursor.isClosed()) cursor.close(); 
    }else{ 
     Log.e("CURSOR","CURSOR NULL"); 
    } 
    return resp; 

} 
+0

write = dbhelper.getWritableDatabase(); –

+3

'rawQuery()'はnullを返しません。問題をより詳しく説明してください。 – laalto

答えて

1

これは動作コードです。比較して試してみてください。必要に応じて変更する

public void getItem() { 
    String selectQuery; 
    SQLiteDatabase db; 
    String myPath = DATABASE_PATH + DATABASE_NAME; 

    db = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY); 
    selectQuery = "SELECT * FROM TABLE"; 
    Cursor cursor = db.rawQuery(selectQuery, null); 

    if (cursor.moveToFirst()) { 
     cursor.getInt(cursor.getColumnIndex("id")); 

     while (cursor.moveToNext()) { 
      cursor.getInt(cursor.getColumnIndex("id")); 
     } 
    } 
} 
+0

ありがとう、私は "openDatabase"を持っていなかった –

関連する問題