此代码实现的功能是在客户端备份服务器端mysql数据库的程序. i:=ShellExecute(Handle, 'Open', 'cmd.exe /c c:\mysql\bin\mysqldump -h 192.168.1.17 -u root  agehouse >c:\age.sql', nil, nil, SW_SHOW);
   ShowMessage(IntToStr(i));其中:192.168.1.17和c:\age.sql是变量.
1.问题一此语句没有执行,返回值2;
2.而c:\age.sql是要同过选择建立的文件age.sql文件名字待定,后序名确定为.sql此程序如何写?

解决方案 »

  1.   

    现在我修改成为
       return:= ShellExecute(Handle, 'open', PChar('cmd.exe'), PChar('/c c:\mysql\bin\mysqldump -h localhost -u root --password va >c:\va.sql'), nil, SW_SHOW);
       ShowMessage(IntToStr(return));此时运行时候有Dos窗口出现,但什么也不动了,在Dos窗口出现后按回车才会继续执行把数据导入va.sql里面,但我把SW_SHOW改为0时候线程一直运行文件以生成但没有数据,如何解决?
      

  2.   

    参考
    AssignFile(F, ′delself.bat′);Rewrite(F);{F为TextFile类型} WriteLn(F,′del ′+ExtractFileName(Application.ExeName)); WriteLn(F,′del %0′);CloseFile(F); WinExec(′delself.bat′,SW—HIDE);