[内容简介] 据库编程中调用带参数存储过程
类别与关键字:
数据库 SQL
简介: A A
整理:WXJ_Lake
[源代码内容]
在按钮中的代码如下:
Dim i As integer
Dim j as integer
Set parm_jobid = New ADODB.Parameter
Set mycommand = New ADODB.Command
' parm_jobid.Name = "name1"
this line can be ommited
parm_jobid.Type = adInteger '参数类型
parm_jobid.Size = 3 '参数长度
parm_jobid.Direction = adParamInput
‘参数方向,输入或输出
parm_jobid.value = 100 '参数的值
mycommand.Parameters.Append
parm_jobid '加入参数
mycommand.ActiveConnection = cnn1
'指定该command 的当前活动连接
mycommand.CommandText = " myprocedure "
'myprocedure 是你要调用的存储过程名称
mycommand.CommandType = adCmdStoredProc
'表明command 为存储过程
Set rstByQuery = New ADODB.Recordset
Set rstByQuery = mycommand.Execute()
i = 0
Do While Not rstByQuery.EOF
i = i + 1 ' i 中保存记录个数
rstByQuery.MoveNext
Loop
MSFlexGrid1.Rows = i + 1
'动态设置MSFlexGrid的行和列
MSFlexGrid1.Cols = rstByQuery.Fields.Count + 1
MSFlexGrid1.Row = 0
For i = 0 To rstByQuery.Fields.Count - 1
MSFlexGrid1.Col = i + 1
MSFlexGrid1.Text = rstByQuery.Fields.Item(i).Name
Next '设置第一行的标题,用域名填充
i = 0
Set rstByQuery = mycommand.Execute()
Do While Not rstByQuery.EOF
i = i + 1
MSFlexGrid1.Row = i '确定行
For j = 0 To rstByQuery.Fields.Count - 1
MSFlexGrid1.Col = j + 1
MSFlexGrid1.Text = rstByQuery (j)
'添充所有的列
Next
rstByQuery.MoveNext
Loop '这个循环用来填充MSFlexGrid的内容
在窗体中声明以下变量:
Dim cnn1 As ADODB.Connection '连接
Dim mycommand As ADODB.Command '命令
Dim parm_jobid As ADODB.Parameter '参数1
Dim parm_joblvl As ADODB.Parameter '参数2
Dim rstByQuery As ADODB.Recordset '结果集
Dim strCnn As String '连接字符串
在窗体的LOAD事件中加入如下代码:
Set cnn1 = New ADODB.Connection
'生成一个连接
strCnn = "DSN=MYDSN;uid=sa;pwd="
'创建的系统数据源MYDSN指向PUBS数据库
cnn1.Open strCnn '打开连接
在窗体的UNLOAD中的加入代码如下:
cnn1.Close '关闭连接
Set cnn1 = Nothing '释放连接
我想你应该是通过CA建数据源连接,再用command对象执行存储过程
dim cn as new adodb.recordset
dim cm as New ADODB.Command
cn.connectstring="你的连接串"
cn.open
With cm
.CommandText = "存储过程名"
.CommandType = adCmdStoredProc
.ActiveConnection = cn
End With
不知道你调的存储过程是否带参数,如果不带的话直接
cm.Execute
如有参数的话:
cm.Parameters.Append cm.CreateParameter("存储过程的参数名1", 参数类型, adParamInput(输入), 参数大小, 参数值) '这是建立输入参数