无法对已关闭的数据集执行此操作

时间:2012-11-08 11:21:47

标签: delphi delphi-7

我只是尝试使用TADOQuery组件执行“select”sql语句,但是当TADOQuery的“Open”语句正在执行时,我收到以下错误:

Cannot perform this operation on a closed dataset... 
ADOQuery1.Active := False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from Table1 where Column1 = <value>');
ADOQuery1.Open;

有什么猜测我收到此错误的原因?

2 个答案:

答案 0 :(得分:2)

您的代码看起来很好。

检查是否有任何事件处理程序(OnBeforeOpen)或主/详细数据源附加到查询。在这种情况下,仍然关闭的不同数据集可能会导致错误。

答案 1 :(得分:0)

问题已解决,我使用SQL Server 2008作为数据库。

此处“SetAppRole”未应用于数据库,应用后,现在没有错误。