在delphi调用bcp导出导入数据的时候,会出现dos窗口,请问如何去掉该dos窗口????可能有两种途径:1。在delphi中如何设置可以去掉???
2。bcp设置什么参数可以去掉dos窗口??????

解决方案 »

  1.   

    用 
    var
    s1:string;
    begin
    s1:='bcp "select * from st2002..st2002_sf where st_flag=1" queryout c:\Media_data.dat -N -P -S sunnynt\hy2002';
    winexec(PChar(s1),sw_hide);
    end; 
      

  2.   

    也可參考ShellExecute(Handle,nil,PChar('http://www.chinaren.com/index.shtml'), 
    nil,nil,SW_HIDE); 
      

  3.   

    谢谢,我用winexec试了一下,可以实现dos窗口的隐藏,但是数据倒不进去啊???我需要导入导出多个表,导出时候没问题,导入时候导入不进数据!!!!是怎么回事啊?????但是我单步执行的时候可以导进去啊!!!!  请楼上的朋友告知!!!是不是需要判断一下winexec的执行情况?如何判断???
      

  4.   

    上述方法 winexec 不完整,当程序循环导入数据时,winexec只调用bcp ,而不负责bcp进程是否执行完毕,所以出现我单步调试时导入数据成功,而循环执行时导不进去数据,我认为可能是bcp进程没有执行完的问题,请问用过winexec调用bcp 的朋友,这种情况如何处理啊? 谢谢