存储过程问题,请高手解决。(200分)

  • 主题发起人 主题发起人 q.yuhen
  • 开始时间 开始时间
Q

q.yuhen

Unregistered / Unconfirmed
GUEST, unregistred user!
下面的存储过程,使用 SQL Server Query Analyzer 调用可正确返回结果,
但使用 DELPHI 中的 ADOStoredProc 则提示
“ADOStoredProc1:CommandText does not return a result set”
错误,请问我该如何解决。

----------------------------------------------------

CREATE PROCEDURE test AS

declare @count int
select @count=count(*) from t_registe

--省略中间某些执行步骤

insert into t_demo (id,num) values ('registe',@count)

select * from t_registe where status>0
 
1.注意如果沒有參數返回,將Parameters的缺省返回值設為空.
2.最后一行select * from t_registe where status>0應該不能出現,
原因是這樣為導致幾個數據集出現.(前面有使用select @count=count(*) from t_registe
)
 
你用AdoDataSet试试。我的机器上没有出现错误

我的存储过程是:

create procedure tvv
as
select * from appinf
 
declare @count int output定义变量为输出变量了吗?
 
当存储过程不返回结果集时,使用StoreProc.Open会报
CommandText does not return a result set错误,这种情况下应该使用
StoreProc.Exec
 
但使用 DELPHI 中的 ADOStoredProc 则提示
〉〉“ADOStoredProc1:CommandText does not return a result set”
是由于你使用了Open来打开没有返回结果的sql,使用ADOStoreProc.EXECSQL
 
不用这个ADOStoredProc 也可以啊
adoquery.add('exec storedprodname ');
adoquery.execsql
 
我也碰到

我的情况是在过程中用了临时表,你的估计也是

改用BDE就可以,你试试

ADO估计是AutoCommit的问题
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
940
SUNSTONE的Delphi笔记
S
后退
顶部