adAsyncExecute?你用的是异步调用,使用同步调用试一下

解决方案 »

  1.   

    如果你要使用异步调用方式,
    ExecuteComplete ,就要实现这个事件。你在后面使用循环轮询command的状态是不恰当的。
      

  2.   

    与其使用异步+循环轮询,不如使用同步方式,把ADO操作放入线程处理,线程完成时,postmessage告诉主线程完成,并处理界面,当然可以使用定时器来Wait该线程是否完成,以处理进度条
      

  3.   

    _com_error 捕获错误,把异常信息显示出来,你说报错是不够的。
    另外,你这样的轮训方式是错误的,即使你解决了现在的问题,后面你会出大错误的
      

  4.   

    还有创建存储过程参数的时候,最好给参数名称加@符号
    oracle的话可以不用
      

  5.   

    param = cmmd->CreateParameter("@pathfilename"/*Name*/,adVarChar, adParamInput,   path.length()+1,path);