我在程序中通过ADODB 对象调用一存储过程。想通过存储过程更新一张表。但奇怪的是程序调用的存储过程执行完毕,表的数据却没更新。我在查询分析器里用 exec 存储过程  执行就可以更新表,我用事件探查器在程序执行的时候跟踪到 程序执行过程也有 exec 存储过程 的语句
可就是达不到更新表的目的现在郁闷死了,希望有高人可以指点迷津!!!

解决方案 »

  1.   

    那为什么在查询分析器里 exec 就可以呢?狂郁闷阿
      

  2.   

    Public cn_ForPlan As New ADODB.Connection
    .
    Private Sub Form_Load()
        
        cn_ForPlan.ConnectionString = "连接串"
        cn_ForPlan.Open
        .
        .
            
    End SubPrivate Sub Command3_Click()
        
        On Error GoTo ER
        cn_ForPlan.Execute "exec Buill_t_RPContract"     '执行存储过程,完成生成单据
        
        MsgBox "单据生成完毕!", vbOKOnly, "提示"
        Exit Sub
        
    ER:
        MsgBox "不能生成合同单据,请检查导入的合同数据是否正确!", vbOKOnly, "提示"
        
        
    End Sub
      

  3.   

    Private Sub Command1_Click()
    Dim adocn As ADODB.Connection
    Dim adocmd As ADODB.Command
    Dim connstr As String
    Set adocn = New ADODB.Connection
    adocn.ConnectionString = connstr
    adocn.Open
    Set adocmd = New ADODB.Command
    adocmd.ActiveConnection = adocn
    adocmd.CommandType = adCmdStoredProc
    adocmd.CommandText = "test"
    adocmd.Execute
    adocn.Close
    End Sub
      

  4.   

    我这个方法不好,但是可以试试看
    Public cn_ForPlan As New ADODB.Connection
    .
    Private Sub Form_Load()cn_ForPlan.ConnectionString = "连接串"
    cn_ForPlan.Open
    .
    .End SubPrivate Sub Command3_Click()
    dim rs as new adodb.recordset
    On Error GoTo ER
    rs.open "Buill_t_RPContract" ,cn_forplan,1,1
    rs.close
    MsgBox "单据生成完毕!", vbOKOnly, "提示"
    Exit SubER:
    MsgBox "不能生成合同单据,请检查导入的合同数据是否正确!", vbOKOnly, "提示"
    End Sub