vb调用存储过程返回记录集的问题(vb的bug,头疼)

lianlei 2006-06-29 05:57:13
cmd.ActiveConnection = con
cmd.CommandText = "checkContact"
cmd.CommandType = adCmdStoredProc
cmd.CommandTimeout = 0
cmd.Parameters("@BeginDate") = CDate("2006-6-1")
cmd.Parameters("@EndDate") = CDate("2006-6-28")
cmd.Parameters("@FCustID") = "08.01.07.07"
Set rs = cmd.Execute


-------------------------------------
我上面的代码返回记录集时会报错,提示记录集已经关闭,如果cmd.Parameters("@FCustID") = "08.01.07.07"中的08.01.07.07换成其他值时就不会出错,能够查询到结果
我的vb已经打上sp6的补丁了,mdac为2.8的,实在找不出原因了
...全文
282 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
clear_zero 2007-03-29
  • 打赏
  • 举报
回复
create proc aaaa
as
begin
set nocount on --估计你没有加这一句加上
select * from 表
set nocount off --估计你没有加这一句加上
end

曾经头疼过
beijingbeerman 2007-03-29
  • 打赏
  • 举报
回复
mark
空心兜兜 2006-07-02
  • 打赏
  • 举报
回复
帮顶!
还想懒够 2006-07-02
  • 打赏
  • 举报
回复


Set nocount on
verywzm 2006-07-02
  • 打赏
  • 举报
回复
mark
一笑拔剑 2006-06-30
  • 打赏
  • 举报
回复
楼上正解
fj182 2006-06-30
  • 打赏
  • 举报
回复
呵呵,我也曾经被这个问题搞得很郁闷。楼上正解。
zyg0 2006-06-29
  • 打赏
  • 举报
回复
我也遇到过这个问题
create proc aaaa
as
begin
set nocount on --估计你没有加这一句加上
select * from 表
set nocount off --估计你没有加这一句加上
end
这个是oledb连接的问题 只要注意下存储过程的写法就行乐
迈克揉索芙特 2006-06-29
  • 打赏
  • 举报
回复
con.open
cmd.ActiveConnection = con
cmd.CommandText = "checkContact"
cmd.CommandType = adCmdStoredProc
cmd.CommandTimeout = 0
cmd.Parameters("@BeginDate") = CDate("2006-6-1")
cmd.Parameters("@EndDate") = CDate("2006-6-28")
cmd.Parameters("@FCustID") = "08.01.07.07"
Set rs = cmd.Execute
一笑拔剑 2006-06-29
  • 打赏
  • 举报
回复
呵呵

不是这样吧
duyhui 2006-06-29
  • 打赏
  • 举报
回复
同意楼上
蔡健常熟 2006-06-29
  • 打赏
  • 举报
回复
Dim cmd As ADODB.Command
Dim rs As ADODB.Recordset
Dim connect_p As ADODB.Connection
Set connect_p = New ADODB.Connection
connect_p.ConnectionString = con
connect_p.CommandTimeout = 3600
connect_p.Open

Set rs = New ADODB.Recordset
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = connect_p
cmd.CommandText = "checkContact"
cmd.CommandType = adCmdStoredProc
cmd.CommandTimeout = 0
cmd.Parameters("@BeginDate") = CDate("2006-6-1")
cmd.Parameters("@EndDate") = CDate("2006-6-28")
cmd.Parameters("@FCustID") = "08.01.07.07"
Set rs = cmd.Execute

这样估计没问题了
一笑拔剑 2006-06-29
  • 打赏
  • 举报
回复
不是吧
试下看

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧