2014-11-14 1 views
0

moveToFirst을 사용하고 있으며 매우 잘 작동합니다. 하지만이 SQL 쿼리 doesnt 작동합니다. 나는 이유를 모른다. 나는 어떤 오류도받지 않았다.moveToFirst가 작동하지 않습니다.

내 쿼리는

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()); 
    } 
} 
+0

왜 원시 쿼리를 실행하고 있습니까? 이 쿼리는 sqlite3 도구의 db에서 작동합니까? – thepoosh

+0

sqlKomut를 디버깅 해보십시오. 쿼리가 미쳐 버리는 null과 같은 값이있을 수 있습니다. 또는 실제 sqlKomut 값을 씁니다. 결과가 없으므로 moveToFirst가 작동하지 않을 수 있습니다. – Vyacheslav

+0

나는 sqlkomut을 시도하고 잘 작동한다. if (cursor.moveToFirt)가 false가되면 두 번째로옵니다. 이 쿼리를 디버그 할 때 내 쿼리는 – smtprld

답변

0
WHERE CHareket.[CariID]=SHareket.[CariID]=Cari.[CariID]= '...' 

당신은 그런 하나의 표현에서 여러 비교를 할 수 없습니다. 는 (비교는 0 또는 1 부울 값을 반환하고 더 이상 비교는 다음 예를 들어, 당신은 1=Cari.CariID 같은 끝낼, ID 값 대신이 부울을 사용합니다.)

은 그들을 연결, 다중 비교를 사용하려면 AND (다른 것들과 이미 동일하게) :

WHERE CHareket.[CariID]=SHareket.[CariID] 
    AND SHareket.[CariID]=Cari.[CariID] 
    AND Cari.[CariID]='...' 
    ... 
+0

이제 질의에 많은 감사를드립니다. – smtprld

관련 문제