vb调用存储过程的一个问题

[复制链接]
查看11 | 回复6 | 2005-2-28 12:57:00 | 显示全部楼层 |阅读模式
'调用存储过程
Dim mycommand As ADODB.Command '命令
Dim mat_code As ADODB.Parameter '参数
Set mat_code = New ADODB.Parameter
Set mycommand = New ADODB.Command
mat_code.Type = adChar '参数类型
mat_code.Size = 9'参数长度
mat_code.Direction = adParamInput '参数方向,输入或输出
mat_code.Value = codeFrmGrid'参数的值
mycommand.Parameters.Append mat_code'加入参数

mycommand.ActiveConnection = Mydb '指定该command 的当前活动连接
mycommand.CommandText = "QuoteFrmMat" 'QuoteFrmMat 是要调用的存储过程名称
mycommand.CommandType = adCmdStoredProc ' 表明command 为存储过程
Set rs = New ADODB.Recordset
Set rs = mycommand.Execute()
With rs
If (.EOF And .BOF) Then
……………………对象关闭时,操作不被允许?
存储过程中是一个比较复杂的select
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
set rs.activeconnect=mydb
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
Set rs.ActiveConnection = Mydb
还是不行啊!同样的错误
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
我把这个存储过程搞到vb里去
直接用rs.Open sqlstr, Mydb, adOpenDynamic, adLockOptimistic
结果也是报错!
对象关闭时,操作不被允许?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
是存储过程的错,还是vb调用的错误呢?
有没在sql-plus中试过存储过程啊?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
sorry
忘了是sqlserver
你的存储过程,带不带参数?
你可以试试不用command对象
Dim cnAs ADODB.Connection
/*'连接数据库*/

/*存储过程调用*/
scmd="begin QuoteFrmMat(" & 参数 & &quot

;end"
setrs =cn.execute(scmd)
....
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
多一点好吗????????????
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行