日付範囲を指定して、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();
誰もがこれについて聞こえます、ガイドしてください。ありがとう。