-1

比較日付(収入、結果日、および別のフィールド)を使用してデータベースからデータを取得したいのですが、この形式を使用しています:

Form6.ADOTable1.Filter := 'student_name like '+QuotedStr(sEdit1.Text) +
       ' and income_date  >='''+date1+''' and income_date  <= '''+date2+'''+
       ' and outcome_date >='''+date1+''' and outcome_date <= '''+date2+'''';

プログラムを実行すると、エラーが発生します。理由はわかりません。私を助けてください。 Delphi 7 を使用しています

4

1 に答える 1

0

エラーが明確でないため、別のアプローチを試してレコードをフィルタリングできます: TADOQuery コンポーネントを追加します。接続プロパティでDB接続を確立します。次に、前に使用したイベントに次のコードを適用します。

With ADOQuery1 do 
begin
    close;
    sql.clear;
    sql.add('SELECT * FROM table 
             WHERE student_name like '+QuotedStr(sEdit1.Text)+' 
             AND income_date  >='+date1+'
             AND income_date  <='+date2+' 
             AND outcome_date >='+date1+' 
             AND outcome_date <='+date2);
    open;
end;

If you are using DBCommponents, Make sure you link them with ADOQury1 instead of ADOTable1.
于 2012-05-09T08:52:04.323 に答える