vb 6.0 使用存储过程返回的结果集

来源:互联网 发布:网络病毒营销案例 编辑:程序博客网 时间:2024/06/05 06:27

Public Sub testDG()

    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim iCmd As New ADODB.Command
   
    If cn.State <> adStateClosed Then cn.Close
    cn.Open UFDbName                              '连接字符串
    cn.CursorLocation = adUseClient
   
    With iCmd
            .ActiveConnection = cn                  '指示指定的 Command对象当前所属的 Connection对象。
            .CommandType = adCmdStoredProc          '通知提供者CommandText属性有什么,它可能包括Command对象的源类型。设置这个属性优化了该命令的执行。
            .CommandText = "CalculateTimeInStorage" '设置Command对象源
            .Parameters.Refresh
           
            .Parameters(1) = "20090402"
            .Parameters(2) = "1"
            .Parameters(3) = "tb"
           
            '另一种添加参数  ,不如第一种方便
'            .Parameters("@startDate") = "20090402"
'            .Parameters("@mixQty") = "1"
'            .Parameters("@vName") = "tb"
           
            '注意   在存储过程中要的AS   后要加一句   set   nocount   on
            Set rs = .Execute
    End With
     
    Debug.Print rs.RecordCount
    Set DataGrid1.DataSource = rs    '数据窗格对象

End Sub