请问出现"Cannot perform the operation on an open dataset"是何原因?(100分)

  • 主题发起人 主题发起人 Hexi
  • 开始时间 开始时间
H

Hexi

Unregistered / Unconfirmed
GUEST, unregistred user!
我的3层程序:(SQL Server2000,Windows 2000, Delphi 5)
var
cdsAllUser:TClientDataSet;
cdsAllUser.Close;
cdsAllUser.CommandText:=aSQL;
cdsAllUser.Open;//出现标题所示错误。
应用程序服务器对应的
TProvider的Optios:=[poAllowCommandText];
 
aSQL中是什么内容?
 
aSQL:='select * from vwUser';
vwUser是一个视图;
SELECT dbo.tbUser.*, dbo.tbCustomer.FName AS FCustomer
FROM dbo.tbUser INNER JOIN
dbo.tbCustomer ON dbo.tbUser.FCustomerID = dbo.tbCustomer.FID
 
你的cdsAllUser是不是prepare过?
 
温柔一刀:我的应用服务器端对应的TADODataSet的Prepared:=False;
 
一时想不到其他原因,也许是不了解。
(确认没有其他prepare或open的dataset没有close/unprepare吗?)
 
我确认没有Prepare.
我用DataRequest代替没什么问题。
<a href="http://www.delphibbs.com/delphibbs/DispQ.asp?LID=352401" target="_blank">请大家再帮我看看这个问题
</a>
 
附加功能 将问题提前
 
小弟以前也碰到类似的问题,我记得是把该控件删掉,重新作一个就好了。
 
Hexi:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
多人接受答案了。
 
后退
顶部