Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

access调用MSSql存储过程通用代码

时 间:2015-09-09 00:10:37
作 者:丘山   ID:20077  城市:威海
摘 要:这两年用access做了几个后台为MSSql的数据库程序,存储过程的调用一直是我比较头疼的地方。经过大量的搜索+摸索,无数次的试验和检验,总结了一组通过数组参数调用MSSql数据库存储过程的代码,拿出来与大家分享。希望能对大家有用。


正 文:

这两年用access做了几个后台为MSSql的数据库程序,存储过程的调用一直是我比较头疼的地方。经过大量的搜索+摸索,无数次的试验和检验,总结了一组通过数组参数调用MSSql数据库存储过程的代码(自认为很好用),拿出来与大家分享。希望能对大家有用。

 

'编写公共模块代码
'******************
'通过数组参数调用MSSql存储过程
'参数 storProcName 为存储过程名
'参数 strPara() 为存储过程参数
'******************

Public Sub execStorProcArry(ByVal storProcName As String, ByRef strPara() As Variant)
Dim conn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim connstr As String
Dim i As Integer

connstr = "Provider=SQLOLEDB;Server=.;Initial Catalog=dbname;User ID=dbuser; Password=userpwd;"
conn.ConnectionString = connstr
conn.Open
cmd.ActiveConnection = conn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = storProcName
If UBound(strPara) >= 0 Then
For i = 0 To UBound(strPara)
   cmd.Parameters(i + 1).Value = strPara(i)
Next
End If
cmd.Execute
conn.Close
   
End Sub

 

'存储过程调用实例
'******************
'调用没有参数的MSSql存储过程
'技术点:通过Array()函数构造空数组
'******************
Public Sub exec_prc_no_para()
   Dim p()
   p = Array()
   Call execStorProcArry("prcName", p)
   MsgBox "操作成功!", vbInformation, "成功"
End Sub

'系统开放
'******************
'调用有参数的MSSql存储过程
'技术点:不指定参数数组的类型:因为存储过程中的参数类型不固定,这样可以通过一个数组传递各种类型的参数
'******************
Public Sub exec_prc_para()
   Dim p(1)
   p(0) = "参数1"
   p(1)=100
   Call execStorProcArry("prcName", p)
   MsgBox "操作成功!", vbInformation, "成功"
End Sub

 

 



Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助