正文

[VB]在VB中调用SQL存储过程2006-05-18 14:47:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/fengfei/14286.html

分享到:

通过一个程序来讲解在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. 希望对你能有帮助。呵呵。

 

阅读(8214) | 评论(6)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册