通过一个程序来讲解在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 = 0End Sub 点击“一般调用存储过程”按钮时执行存储过程Test_1(在代码中注释了存储过程代码): 点击“带参数调用存储过程”按钮是执行存储过程Test_2: 先在姓名文本框中写入姓名“张三”,如: 然后在点击“带参数调用存储过程”按钮,则将“张三”传给存储过程,结果如下: OK. 希望对你能有帮助。呵呵。

评论