通过一个程序来讲解在VB中怎么调用存储过程:
这是初始化界面:
程序代码: 代码中加了注释
数据库连接的代码就自己写吧。呵呵。
Private Sub Command1_Click() ' 一般调用存储过程
Set g_Cmd = New Command
g_Cmd.ActiveConnection = g_Con ' 连接到数据库
g_Cmd.CommandType = adCmdStoredProc ' 表示cmd的类型为存储过程
g_Cmd.CommandText = "Test_1" ' 表示调用哪个存储过程
Set g_Rs = g_Cmd.Execute ' 执行存储过程
If Trim(g_Rs.Fields("sex").Value) = "男" Then
Combo1.ListIndex = 0
Else
Combo1.ListIndex = 1
End If
Text2.Text = g_Rs.Fields("name").Value
Text1.Text = g_Rs.Fields("class").Value
g_Cmd.Cancel
'--Test_1--
'Create Proc Test_1 As
'select * from students
End Sub
Private Sub Command2_Click() ' 带参数调用存储过程
Dim name As String
Set g_Cmd = New Command
g_Cmd.ActiveConnection = g_Con ' 连接到数据库
g_Cmd.CommandType = adCmdStoredProc ' 表示cmd的类型为存储过程
g_Cmd.CommandText = "Test_2" ' 表示调用哪个存储过程
name = Trim(Text2.Text) ' 获得姓名
Set param = g_Cmd.CreateParameter("varin", adVarChar, adParamInput, 50, name)
g_Cmd.Parameters.Append param 'Append将对象添加到该集合
Set g_Rs = g_Cmd.Execute ' 执行存储过程
If Trim(g_Rs.Fields("sex").Value) = "男" Then
Combo1.ListIndex = 0
Else
Combo1.ListIndex = 1
End If
Text1.Text = g_Rs.Fields("class").Value
g_Cmd.Cancel
' Set parameter = command.CreateParameter (Name, Type, Direction, Size, Value)
'
' ·Name 可选(用于多个存储过程),唯一标示调用的存储过程。 如上的 varin 用来标示Test_2
' ·Type 可选,长整型值,指定 Parameter 对象数据类型。
' ·Direction 可选,指定对存储过程的参数执行什么操作。 adParamInput:参数输入。 adParamOutput:参数输出
' ·Size 可选,长整型值,指定参数值最大长度(以字符或字节数为单位)。
' ·Value 可选,adParamInput: 将name的值输入给存储过过程的参数
'
'--Test_2--
'Create Proc Test_2
'@name varchar(20)
'As
'select * from students where name = @name
End Sub
Private Sub Command3_Click()
g_Rs.MoveNext
If Trim(g_Rs.Fields("sex").Value) = "男" Then
Combo1.ListIndex = 0
Else
Combo1.ListIndex = 1
End If
Text2.Text = g_Rs.Fields("name").Value
Text1.Text = g_Rs.Fields("class").Value
End Sub
Private Sub Form_Load()
Combo1.AddItem "男"
Combo1.AddItem "女"
Combo1.ListIndex = 0
End Sub
点击“一般调用存储过程”按钮时执行存储过程Test_1(在代码中注释了存储过程代码):
点击“带参数调用存储过程”按钮是执行存储过程Test_2:
先在姓名文本框中写入姓名“张三”,如:
然后在点击“带参数调用存储过程”按钮,则将“张三”传给存储过程,结果如下:
OK. 希望对你能有帮助。呵呵。
评论