moveToFirst не работает

Я использую moveToFirst и это работает очень хорошо. Но этот SQL-запрос не работает. Я не знаю почему. Я не получил никакой ошибки.

Мой запрос

String sqlKomut = "SELECT SHareket.*,CHareket.[Meblag],Cari.AnlikBakiye FROM CHareket , SHareket,Cari WHERE  CHareket.[CariID]=SHareket.[CariID]=Cari.[CariID]= '"+cari.getCariID()+"' AND  SHareket.[Seri]='"+hareket.getSeri()+"' AND SHareket.[Sira]='"+hareket.getSira()+"'AND SHareket.[Tip]='"+hareket.getTip()+"' AND SHareket.[Cins]='"+hareket.getCins()+"' ORDER BY SHareket.[Satir]"; 

и я получаю свой курсор getValue здесь:

Cursor cursor = db.rawQuery(sqlKomut, null);

if(cursor !=null){

    if(cursor.moveToFirst()){

        do {
            eleman.setStrEleman(cursor.getString(cursor.getColumnIndex("Seri")));
            eleman.setIntEleman1(cursor.getInt(cursor.getColumnIndex("Sira")));
            eleman.setIntEleman2(cursor.getInt(cursor.getColumnIndex("CariID")));
            eleman.setIntEleman10(cursor.getInt(cursor.getColumnIndex("Cins")));
            eleman.setIntEleman11(cursor.getInt(cursor.getColumnIndex("Tip")));
            eleman.setIntEleman11(cursor.getInt(cursor.getColumnIndex("Satir")));
            eklenenfaturalar.add(eleman);

        } while (cursor.moveToNext());
    }
}

1 ответ

Решение
WHERE CHareket.[CariID]=SHareket.[CariID]=Cari.[CariID]= '...'

Вы не можете сделать несколько сравнений в одном выражении. (Сравнение возвращает логическое значение 0 или 1; при любом другом сравнении это логическое значение будет использоваться вместо значения идентификатора, например, в результате вы получите что-то вроде 1=Cari.CariID.)

Чтобы использовать множественные сравнения, соедините их с AND (как вы уже сделали с другими):

WHERE CHareket.[CariID]=SHareket.[CariID]
  AND SHareket.[CariID]=Cari.[CariID]
  AND Cari.[CariID]='...'
  ...
Другие вопросы по тегам