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]='...'
...