存储过程如下:
  DE PE TEMP @ID INT AS
   SELECT * FROM TEMPTABLE
   WHERE ID=ID
  GO就一个参数,ID,整型的.
如何在VB中调用并将其结果给某个记录集?

解决方案 »

  1.   

    Rec.open "exec pe " & id,conn
      

  2.   

    前面我的错了,应是
    Rec.open "exec TEMP " & id,conn
      

  3.   

    CREATE PROCEDURE dbo.spGetAuth 
        @UserID varchar(4),
        @ObjID varchar(4)
    AS
      SELECT UserID,ObjID,Auth
         FROM tAuth
       WHERE tAuth.UserID = @UserID 
             AND tAuth.ObjID = @ObjID
    GOPrivate Sub Command1_Click()
        Dim conn As New Connection
        Dim cmd As New Command
        Dim rs As New Recordset
        
        conn.ConnectionString = "..."
        conn.Open
        
        Set cmd.ActiveConnection = conn
        cmd.CommandType = adCmdStoredProc
        cmd.CommandText = "spGetAuth"
        cmd.Parameters("@UserID").Value = "0000"
        cmd.Parameters("@ObjID").Value = "Root"
        
        rs.Open cmd, , adOpenDynamic, adLockReadOnly
    End Sub
      

  4.   

    没有参数的
    如:
    该存储过程只有一句:delete from temptableDim conn As New Connection
    conn.execute 存储过程名
    这样调用行吗
      

  5.   

    可以
    如果有参数
    则:
    conn.execute "sp_Your @Para1=" & paraValue & ",..."
      

  6.   

    上面老兄说的这个对象:
     Dim cmd As New Command程序结束时,用不用像rs.close :set rs=nothing这样,在内存中消除它,如:
      set cmd=nothing
      

  7.   

    CREATE PROCEDURE test  
    @dwbh CHAR(7),  
    @S1   CHAR(7) OUTPUT  
     AS 
    private sub refreshlist()  
    dim rs as recordset  
    set rs=mconn.execute("test",,adcmdstoredproc)  
    txt.text=rs("s1")  
    end sub 
    程序结束时,内存中消除它,如:
      set cmd=nothing