我在ADOQuery中判断一个输入的日期是不是合法,为什么这个代码 不执行,总是引发错误异常,我想达到的目的是在这个字段输入后自动检测数据,当焦点离开时判断值,如果不是有效数据则停止,焦点回到错误字段里面,请教高手如何解决?急!procedure TForm1.ADOQuery1TDATESetText(Sender: TField; const Text: String);
var lDate: TDateTime;
begin
if Sender.FieldName='Tdate' then
begin
if TryStrToDate(ADOtable1.FieldValues['Tdate'],lDate) then
ShowMessage('是日期')
else
ShowMessage('不是日期');
end;
end;
procedure TForm1.ADOQuery1TDATESetText(Sender: TField; const Text: String);
var lDate: TDateTime;
begin
if text = '' then exit;
if Sender.FieldName='Tdate' then
begin
if TryStrToDate(text,lDate) then
ShowMessage('是日期')
else
ShowMessage('不是日期');
end;
end;
这样写是会有问题的, 最好不要这样子写
这个SetText是Tdate的, 那么中要使用 Sender就会是 Tdate的Field, 不用现查多一次