我希望能够确保如果一个表(在这种情况下adotHours)进入编辑或插入模式,并且用户单击保存按钮但意外地在Hours列下已经输入了相同的值,则会显示一条消息Please enter another value,否则如果用户输入不同的值,使用另一段代码.
我尝试了以下方法,但它不起作用, - 无论用户输入什么消息Please enter another value出现.
procedure TfrmLabour.Button6Click(Sender: TObject);
var
i,j, t: String;
begin
Edit1.Text := adotHours['Hours'];
j := Edit1.Text;
adotHours.Post;
Edit2.Text := adotHours['Hours'];
t := Edit2.Text;
if t = j then
showmessage ('Please enter another value')
else begin.....
end;
Run Code Online (Sandbox Code Playgroud)
虽然我知道它可能不是最优雅的代码,但我的想法是,一旦adotHours Hours通过连接发布了值DBgrid,如果它与之前的值不同t将成为新值,因此adotHours['Hours']会有所不同并允许else begin.建议?
尝试检查OldValue属性的输入值.
adotHours.FieldByName('Hours').OldValue
Run Code Online (Sandbox Code Playgroud)