gpt4 book ai didi

delphi - Delphi操纵数据集的状态

转载 作者:行者123 更新时间:2023-12-03 18:59:46 26 4
gpt4 key购买 nike

有没有办法在删除,编辑或插入之前修改数据集的状态(TTAble)?

我尝试使用Table1.State := dsXXX。编译器告诉我不能修改此属性。

最佳答案

您可以执行此操作,但要注意,通过执行操作,您不会破坏TDataSet的状态模型。

您需要声明您正在使用的TDataSet类型的后代类。例如。

type TmyTTable = Class(TTable);


然后,通过将数据集转换为该类型,可以在其上使用 SetTempStateRestoreState

SaveState := Table1.State;
try
TmyTTable(Table1).SetTempState();
// do something
finally
TmyTTable(Table1).RestoreState(SaveState);
end;


不过,您应该真正查看DB.Pas中SetTempState的来源。并要格外小心-使用 SetTempState会带来麻烦。 SetTempState在DBClient.Pas中的多个位置使用。

关于delphi - Delphi操纵数据集的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39146259/

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