这段程序总是出错,请帮忙!

hfyanzi 2006-12-08 05:43:32
Dim cn_1 As ADODB.Connection
Dim cmd As ADODB.Command
Dim rs_1 As ADODB.Recordset
Dim strSql_1 As String

Set cn_1 = New ADODB.Connection
Set cmd = New ADODB.Command

cn_1.ConnectionString = "Provider=SQLOLEDB.1;" _
+ "Persist Security Info=false;Initial Catalog=xxx;Data Source=yyyy;user id=winhonor_KUCUEN;pwd=zzz" '广

cn_1.CursorLocation = adUseClient
cn_1.Open

cmd.ActiveConnection = cn_1
cmd.CommandText = "test1"
cmd.CommandType = adCmdStoredProc

Set rs_1 = cmd.Execute

If rs_1.RecordCount <= 0 Then
Exit Sub
End If

提示对象关闭时,不充许操作!
请各位帮助,哪里设置不对?
谢谢!
...全文
161 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqq_chen 2006-12-14
  • 打赏
  • 举报
回复
在存储过程中加入
set nocount on
cqq_chen 2006-12-14
  • 打赏
  • 举报
回复
存储过程有问题!
liuwei308025 2006-12-12
  • 打赏
  • 举报
回复
rs_1 不需要open 吗?
hfyanzi 2006-12-12
  • 打赏
  • 举报
回复
不是不行
飘零风 2006-12-11
  • 打赏
  • 举报
回复
加上
rs_1.CursorType = adOpenStatic
试试
hfyanzi 2006-12-11
  • 打赏
  • 举报
回复
过程如下:

ELECT CardNo, LabelNo, CONVERT(VARCHAR(10), OpTime, 120)
AS COL_1, CONVERT(VARCHAR(8), OpTime, 112) +
(SELECT RIGHT(10000 + COUNT(DISTINCT cardno) + 1, 4)
FROM OpHis
WHERE datediff(day, OpTime, getdate()) =5 AND (OpType = 2) AND
(MedicineNo NOT IN
(SELECT medicineno
FROM OpHis
WHERE optype = 3)) AND cardno < T.cardno) AS COL_2
into #sales
FROM OpHis T
WHERE (DATEDIFF(day, OpTime, GETDATE()) = 5) AND (OpType = 2) AND
(MedicineNo NOT IN
(SELECT medicineno
FROM OpHis
WHERE optype = 3))
ORDER BY CardNo

select cardno,goodsnumqb,col_1,col_2,LabelNo
from #sales,GoodsQB
where Goodsnum = labelno
order by cardno


请问这个存储过程在以上的程序调用中有什么问题?
hfyanzi 2006-12-10
  • 打赏
  • 举报
回复
存储过程我在SQL Server中热行过能查出结果,没有问题,有记录集。
clear_zero 2006-12-08
  • 打赏
  • 举报
回复
你查查你的存储过程本身,有没有返回值呢
hfyanzi 2006-12-08
  • 打赏
  • 举报
回复
哥们,还是周样的问题!
cangwu_lee 2006-12-08
  • 打赏
  • 举报
回复
Sub main()
Dim cn_1 As ADODB.Connection
Dim rs_1 As ADODB.Recordset
Set cn_1 = New ADODB.Connection

cn_1.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=false;Initial Catalog=pubs;Data Source=192.168.11.1;user id=sa;pwd=123456"

cn_1.CursorLocation = adUseClient
cn_1.Open

Dim i As Long
Set rs_1 = cn_1.Execute("TestProc", i)
i = rs_1.RecordCount
rs_1.Close
Set rs_1 = Nothing

cn_1.Close
Set cn_1 = Nothing

If i < 1 Then
Exit Sub
End If


End Sub
hfyanzi 2006-12-08
  • 打赏
  • 举报
回复
代码如何写,谢谢!
cangwu_lee 2006-12-08
  • 打赏
  • 举报
回复
执行存储过程没有返回recordset

1,216

社区成员

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

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