VB程序员博客
最好用conn.execute实现。
exec sp_GetID @RemoteId = default, @cAcc_Id = '010 ', @cVouchType = 'sfc_optransform ', @iAmount = 1, @iFatherId = @P1 output, @iChildId = @P2 output
在sql里,如上可以得到结果,我怎么在VB里执行,并得到@p1,@p2的值吗?
要得到存储过程返回值和输出参数需要用command对象,并且存储过程返回值需要作为command对象的第一个参数。
Dim adoComm As Object
Set adoComm = CreateObject( "ADODB.Command ")
Set rs2 = New ADODB.Recordset
Set cmd = New ADODB.Command
cmd.ActiveConnection = SQLConn
cmd.CommandText = "FTYBYDAILY "
cmd.CommandType = adCmdStoredProc
cmd.Parameters( "@s_date ") = Format(DTPicker1.Value, "YYYY-MM-DD ")
cmd.Parameters( "@model ") = Trim(Text1.Text)
Set rs2 = cmd.Execute
Set MSHFlexGrid1.Recordset = rs2