0

日付範囲を指定して、sqliteデータベースから結果を取得しようとしています。3つのフィルターを提供することで結果を取得することができました

        1. Name (textfield1) 
        2. From (date)(textfield2)
        3. To   (date)(textfield3)

次のコードを使用して、フォームから取得したこれらのフィールド値をテーブルtempに挿入しています

        Statement statement6 = db.createStatement("INSERT INTO Temp(date,amount_bill,narration) select date,amount,narration from Bills where name=\'"+TextField1.getText()+"\' AND substr(date,7)||substr(date,4,2)||substr(date,1,2) <= substr (\'"+TextField3.getText()+"\',7)||substr (\'"+TextField3.getText()+"\',4,2)||substr (\'"+TextField3.getText()+"\',1,2) AND substr(date,7)||substr(date,4,2)||substr(date,1,2) >= substr (\'"+TextField2.getText()+"\',7)||substr (\'"+TextField2.getText()+"\',4,2)||substr (\'"+TextField2.getText()+"\',1,2) ");
                    statement6.prepare();
                    statement6.execute();       
                    statement6.close(); 

ここで、上記のフィルターのフォームに次の入力を入力すると、

               1.Ricky
               2.01/02/2012
               3.28/02/2012

これらの日付範囲の間の日付を完全にフェッチします。しかし今、私は提供されたこれらの2つの日付範囲の上下にある値を挿入したいと思います。

ここに画像の説明を入力してください

このコードを使ってみましたが、結果が表示されません。エラーがどこにあるのかわかりません。

以下のコードは、日付が2012年1月2日より前で2012年2月28日より後のエントリを検索するためのものです。

          Statement statementVII = db.createStatement("INSERT INTO Temp5(date,amount_rec,narration) select date,amount,narration from Bills where name=\'"+TextField1.getText()+"\' AND substr(date,7)||substr(date,4,2)||substr(date,1,2) < substr (\'"+TextField2.getText()+"\',7)||substr (\'"+TextField2.getText()+"\',4,2)||substr (\'"+TextField2.getText()+"\',1,2) AND substr(date,7)||substr(date,4,2)||substr(date,1,2) > substr (\'"+TextField3.getText()+"\',7)||substr (\'"+TextField3.getText()+"\',4,2)||substr (\'"+TextField3.getText()+"\',1,2)");
                    statementVII.prepare();
                    statementVII.execute();       
                    statementVII.close(); 

誰もがこれについて聞こえます、ガイドしてください。ありがとう。

4

1 に答える 1

2

Or句を角かっこと一緒に使用する必要があります。

WHERE name='....' AND (yourDateField<yourLowerDate OR yourDateField>yourHigherDate)
于 2012-05-15T15:07:55.413 に答える