我正在尝试在vb6中打开一个sproc,我可以在asp中成功打开一个sproc,但是vb6在打开存储过程时遇到了问题。这是我正在尝试的代码:
qryStr = "DECLARE @return_value int EXEC @return_value = [dbo].[spSproc]"
它没有返回参数...只是从sproc中的订单中选择*,它在sql中运行正常。
Dim rs as ADODB.Recordset Set rs = new ADODB.Recordset rs = co.OpenRecordset(qryStr, dbOptimistic)
我没有打开查询的问题,但开放sprocs似乎是个问题。这应该是只读的,我没有传递任何参数。 THX
答案 0 :(得分:1)
您可能需要做的就是设置命令类型,但您可能还是想查看这篇文章:http://www.codeproject.com/KB/vbscript/simple_sp_vb6.aspx
答案 1 :(得分:1)
我明白了,VB6中有两个记录集对象。一个是
Dim rs as ADODB.Recordset
,另一个是
Dim rs as Recordset
第二个不包含ADODB的行为类似于ASP中的Recordset。这样我就可以使用我的rs.open qryStr,connectionObject
答案 2 :(得分:0)
我担心我没有访问VB6来正确检查这一点,但我认为您只需要从SQL字符串中删除'Declare @return_value',所以它显示为:
qryStr = "EXEC spSproc"
希望这对你有用。