我想知道您是否可以看一下我在 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;