我有个存储过程,功能主要是向几个表插入大量数据,在查询分析器里执行,执行后的结果没问题,不会出现数据丢失,但是如果用vb在前台调用这个存储过程,就会出现部分数据丢失,有哪位兄台知道这是什么原因吗?

解决方案 »

  1.   

    用事务来控制试试:
    private sub command1_click()
    on error goto err
        conn.begintrans    '开启事务
        conn.execute ...
        conn.execute ...
        conn.committrans   '提交事务
        exit sub
    err:
        conn.rollbacktrans  '回滚事务
    end sub
      

  2.   

    在Delphi里使用ado来执行这个存储过程问题也同样存在!!!是不是ado的问题???
      

  3.   

    程序就是一个调用而已啊,是不要设置什么属性?    Dim objConn As New ADODB.Connection
        Dim objcmd As New ADODB.Command
        Dim Param As New ADODB.Parameter
        Dim RetVal As Variant
        
        objConn.Open "连接字符串"
        objcmd.ActiveConnection = objConn
        objcmd.CommandText = "WorkCheck"
        objcmd.CommandType = adCmdStoredProc
        
        Set Param = objcmd.CreateParameter("YearMon", adVarChar, adParamInput, 6, "200506")
        objcmd.Parameters.Append Param
        
        Set Param = objcmd.CreateParameter("Dept_No", adVarChar, adParamInput, 20, "")
        objcmd.Parameters.Append Param
        
        Set RetVal = objcmd.Execute
        
        Set objConn = Nothing
        Set objcmd = Nothing
        Set Param = Nothing