错误提示(ADODataSet1:CommandText do es not return a result set)(25分)

  • 主题发起人 主题发起人 xiaolinj79
  • 开始时间 开始时间
X

xiaolinj79

Unregistered / Unconfirmed
GUEST, unregistred user!
在DCOM的RemoveDataModule下的接口中使用ADODataSet执行sql语句的insert语句
代码如下
with ADODataModule.ADODataSet1do
begin
Close;
CommandText:=sSQL;
Active:=true;
Open;
end;
错误完整提示是:
Project SDMS_Client.exe raised exception class EOleException with message
'ADODataSet1:CommandTextdo
es not return a result set'.
Process stopped.Use Step or Run to continue.
请告知到底是什么原因?
在执行select语句无问题,而且可以使用result返回函数值
 
Active:=true;
Open;
改成一句
ExecSql;
Insert、update等语句并不返回数据集,只可用Execsql执行。
Active:=true等效于open;
 
就是因为没有发现ADODataSet有execsql过程我才使用active加open来执行sql语句啊
帮忙找找到底是用什么执行sql语句的,不要让我使用sb办法:(
 
这样试试
Tadoquery(ADODataSet1).execsql;
 
还是不行,我看了delphi的帮助文件
只有adoquery有这个过程
看样子我只有把adodataset换成adoquery了:(
 
对于SQL语句,应用于TADOQuery或TADODataSet,
返回结果集的可以用Open,Active := True,
不返回结果集的,用ExecSQL.
 
问题是TADODataSet没有ExecSQL用啊
 
with ADODataModule.ADODataSet1do
begin
Connection.Execute(sSQL);
end;
这样应该就OK了。
在Ado中中,执行没有返回值的SQL语句时,是不会返回DataSet的,所以AdoDataSet
没有ExecSQL。
要执行没有返回结果集的SQL语句,可以用AdoConnection来执行。
 
呵呵,谢谢大家,ok了
 
后退
顶部