Delphiでの日付比較のために私のコードを見ていただけませんか。
DELPHIのコードスニペット:-
// SQL QUERY to gather member information.
DMS.ADOQuery1.SQL.Clear;
DMS.ADOQuery1.SQL.Add('select HPFROMDT, HPthruDt, MEMBERKEY, MEMBHPKEY, OPFROMDT, OPTHRUDT, HPCODEKEY' +
' from MEMBHP' +
' where MEMBERKEY = ''' + MembKey + ''' and OPFROMDT <= ''' + date_request + ''' and OPTHRUDT > ''' + date_request +''' '
SQLのスクリプトスニペット:-
SELECT [MEMBHPKEY]
,[MEMBERKEY]
,[CURRHIST]
,[HPFROMDT]
,[OPFROMDT]
,[OPTHRUDT]
,[HPCODEKEY]
,[HPOPTIONKEY]
FROM [main].[dbo].[*****]
where MEMBERKEY = '1234567' and OPFROMDT <= '2007-08-01' and OPTHRUDT > '2007-08-01'
SQLスクリプトは、定数の日付値を抽出された日付値と明らかに比較します。そしてそれは動作します!
ただし、Delphiコードは機能しません。エラーメッセージ
文字列をsmalldatetime日付型に変換するときに変換に失敗しました。
Delphiには、正しい変数型に変換できるような変換手法が必要だと思います…。何か案は?
date_request
テキストファイルから文字列変数として抽出します。
for i := 11 to length(buffer) do
begin
DT_request := DT_request + buffer[i];
end;