0

sqlite を使用して小さなアプリケーションを作成しています。
デバッガーは、構文エラーがあることを示しています。試してみましたが、どこにあるのかわかりませんでした。

12-20 14:13:40.353: E/SQLiteLog(2329): (1) "," 付近: 構文エラー

SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase$CursorFactory, String, String[], String, CancellationSignal) 行: 1317
SQLiteDatabase.rawQuery(String, String[]) 行: 1253
TemporaryDatabase.EntryGiris(int, String, int, int, int, int, int、int、int、int、int) 行: 125

コードは次のとおりです。

public class TemporaryDatabase {
......

    String entryGirisSQL="SELECT "+C_ID
                        +" FROM harcamalar WHERE "+C_YIL+"="
                        +yilsql+","+C_AY+"="+aysql;
    Cursor  cursor=ourDatabase.rawQuery(entryGirisSQL, null);   
    int index=cursor.getColumnIndex(C_ID);
    if(index>=0)
        ourDatabase.update(DB_TABLE, cv, "c_id="+index, null);
    else ourDatabase.insert(DB_TABLE, null, cv);
  }

}
 
4

3 に答える 3

4

問題は SQL クエリにあります。

SELECT "+C_ID+" FROM harcamalar WHERE "+C_YIL+"="+yilsql+","+C_AY+"="+aysql;

WHERESQL では、句の一部としてコンマをサポートしていません。ANDand を使用しORて、複数の式を組み合わせる必要があります。あなたが試したことに基づいて、私はあなたが両方を満足させたいと思っていると思います. したがって、使用する必要がありますAND

于 2012-12-20T14:43:33.493 に答える
3
getDataHesaplaSQL="SELECT * FROM harcamalar WHERE "+C_YIL+"="+yilsql+","+C_AY+"="+aysql;

うーん、そのコンマは where 句では場違いのようです。またはという意味ではありません" AND ""OR"

于 2012-12-20T14:43:28.933 に答える
2
String entryHesaplaSQL="SELECT c_id FROM harcamalar WHERE "+C_YIL+"="+yilsql+","+C_AY+"="+aysql;

is wrong, WHERE clauses don't have , between conditions they have "AND" or "OR"

于 2012-12-20T14:43:25.283 に答える