gpt4 book ai didi

delphi - 数据集取消或中止(正确的方法)?

转载 作者:行者123 更新时间:2023-12-03 18:31:00 25 4
gpt4 key购买 nike

如果我只调用 abort,那么我的数据集仍处于 dsedit 状态。
我必须按两次 ESC 或按取消按钮 (dbnavigator) 才能退出。

我无法调用取消,因为我的表未处于编辑模式(错误)。

这边走 :

procedure TDataModule.MYTABLEBeforePost(DataSet: TDataSet);
begin
with VALIDATE_ENTRY do begin
VALIDATE_ENTRY.Close;
VALIDATE_ENTRY.SQL.Clear;
VALIDATE_ENTRY.SQL.Text := 'SELECT [NAME] FROM UNITS WHERE [NAME] = '+ QuotedStr(UNITS.FieldByName('NAME').asString) ;
VALIDATE_ENTRY.Open;
if EOF then begin
MYTABLE.Post;
end else
ShowMessage('NAME '+UNITS.FieldByName('NAME').asString+' already exists !'+#13#10+'Entry is forbidden !');
Dataset.Cancel;
Abort;
end;
end;

似乎有效,但确实感觉很奇怪。

这可以使用还是有另一种优雅的方式来实现这一点?

最佳答案

只需调用Dataset.Cancel .这将使您回到浏览模式。调用 Abort 将使您进入 dsEdit状态。允许编辑不要调用任何东西。

关于delphi - 数据集取消或中止(正确的方法)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31395758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com