VB中运用PARAMETER调用存储过程的一段代码


    Dim cn As ADODB.Connection
    Dim rsAdo As ADODB.Recordset
    Dim cmdAdo As ADODB.Command
    Dim prmAdo As ADODB.Parameter
    dim strParaName as string
   
    Set cn = New ADODB.Connection
    Set cmdAdo = New ADODB.Command

On Error GoTo errhandle
   
    With cn
        .ConnectionString =strCn
        .CursorLocation = adUseClient
        .ConnectionTimeout = 30
        .Open
    End With
   
    Set cmdAdo.ActiveConnection = cn
    With cmdAdo
        .CommandType = adCmdStoredProc
        .CommandText = "proGetCurNum"
    End With

    strParaName="input"

    Set prmAdo = cmdAdo.CreateParameter(strParaName, adDBDate, adParamInput)
    cmdAdo.Parameters.Append prmAdo
    cmdAdo.Parameters(strParaName).Value = date()

    Set prmAdo = cmdAdo.CreateParameter(strParaName, adDBDate, adParamInput)
    cmdAdo.Parameters.Append prmAdo
    cmdAdo.Parameters(strParaName).Value = DateAdd("d", 1, date())

    Set prmAdo = cmdAdo.CreateParameter(strParaName, adSmallInt, adParamInput)
    cmdAdo.Parameters.Append prmAdo
    cmdAdo.Parameters(strParaName).Value = lngWorkNo
    Set rsAdo = cmdAdo.Execute

    If rsAdo Is Nothing Then Exit Sub
    If rsAdo.State = adStateClosed Then Exit Sub   
    If Not rsAdo.EOF Then
    .....

     cn.Close
exitLine:
    Set cmdWork = Nothing
    Set prmAdo = Nothing
    Set rsWorkMax = Nothing
    Set cn = Nothing
    ......
   




2、ADO:

①声明ADODB.Command及初始化

Private lAdcom_IsOk As ADODB.Command

Set lAdcom_IsOk = New ADODB.Command

 

②设置ActiveConnection、CommandText、CommandType属性

With lAdcom_IsOk

    .ActiveConnection= gAdcon_fin

    .CommandText = "sp_e_isok"

    .CommandType = adCmdStoredProc

 

③通过Parameters.Refresh产生参数,并加工参数

    .Parameters.Refresh

‘对于Sql Server如果无需存储返回参数需删除第一个参数

    .Parameters.Delete (0)

‘对于Oracle需设置每个参数的Size属性

.Parameters(0).Size=4

.Parameters(1).Size=50

 

④通过Parameter传入参数

    .Parameters(0) = 2

    .Parameters(1) = Trim(Txt_cid.Text)

 

Execute执行查询

    .Execute

End With

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值