本人需要一段用存储过程实现的原代码。
[email protected]

解决方案 »

  1.   

    create proc Test(@id int ,@name varchar(20) output)
    as
    begin
      select @name=customername from customers where customerid= @id
    End
        
        Dim cmd As ADODB.Command
        Dim par1 As ADODB.Parameter
        Dim par2 As ADODB.Parameter
        Set cmd = New ADODB.Command
        cmd.CommandText = "test"
        cmd.CommandType = adCmdStoredProc
        Set par1 = cmd.CreateParameter("a", adInteger, adParamInput, , 3)
        cmd.Parameters.Append par1
        Set par2 = cmd.CreateParameter("b", adVarChar, adParamOutput, 20)
        cmd.Parameters.Append par2
        Set cmd.ActiveConnection = cnDatabase
        cmd.Execute
        Debug.Print par2.Value
        Set cmd = Nothing
      

  2.   

    存储过程文件如下CREATE  PROCEDURE dbo. sp_vb1
    @Parmk char(10)
    AS
    select * from  人员基本情况表  Where  姓名=@Parmk
    RETURN
    GO 
    Dim Conn As ADODB.Connection
    Dim Rs As ADODB.Recordset
    Dim Comm As ADODB.CommandPrivate Sub Form_Load()
        Set Conn = New ADODB.Connection
        Set Rs = New ADODB.Recordset
        Set Comm = New ADODB.Command
        Conn.ConnectionString = "Provider=SQLOLEDB.1;Password=nndk;Persist Security Info=True;User ID=sa;Initial Catalog=PDoctor;Data Source=ZHD\ZHD"
        Conn.Open
        Comm.ActiveConnection = Conn
        Comm.CommandType = adCmdStoredProc
        Comm.CommandText = "sp_vb1"
        Comm.Parameters.Refresh
        Comm.Parameters("@Parmk").Value = "书剑狂生"
        Rs.CursorLocation = adUseClient
        Rs.CursorType = adOpenStatic
        Rs.LockType = adLockReadOnly
        Rs.Open Comm
        Set DataGrid1.DataSource = Rs
    End Sub 
      

  3.   

    http://expert.csdn.net/Expert/topic/2928/2928203.xml?temp=.5994379
      

  4.   

    Sub MyCrossTable(FirstColumn As String, NewColumn As String, 
                    SumColumn As String, Other As String, 
                    TableName As String, Optional ZeroColumn As String = "", 
                    Optional SecondColumn As String = "", 
                    Optional EmptyValue As String = "0")
        
        Dim rs As New ADODB.Recordset
        Dim param As ADODB.Parameter
        Dim Cmd  As New Command
        
       
        Cmd.ActiveConnection = db 'db 是连接字符串
        Cmd.CommandText = "MyCrossTable"   ‘ 存储过程名称
        Cmd.CommandType = adCmdStoredProc
            
        
       1 Set param = Cmd.CreateParameter("a", adBSTR, adParamInput, 30,
                                     FirstColumn)
       2 Cmd.Parameters.Append param
        
       3 Set param = Cmd.CreateParameter("b", adBSTR, adParamInput, 30, 
                NewColumn)
       4 Cmd.Parameters.Append param   5 Set param = Cmd.CreateParameter("c", adBSTR, adParamInput, 30, 
                SumColumn)
       6 Cmd.Parameters.Append param   7 Set param = Cmd.CreateParameter("d", adBSTR, adParamInput, 300, 
                   Other)
       8 Cmd.Parameters.Append param   9 Set param = Cmd.CreateParameter("e", adBSTR, adParamInput, 30, 
                  TableName)
       10 Cmd.Parameters.Append param   11 Set param = Cmd.CreateParameter("f", adBSTR, adParamInput, 30, 
               ZeroColumn)
       12  Cmd.Parameters.Append param   13 Set param = Cmd.CreateParameter("g", adBSTR, adParamInput, 30, 
                   SecondColumn)
       14 Cmd.Parameters.Append param   15 Set param = Cmd.CreateParameter("h", adBSTR, adParamInput, 30, 
               EmptyValue)
       16 Cmd.Parameters.Append param
        
       17 Set rs = Cmd.Execute
               rs.Close
        Set rs = Nothing