现在有一个edit1,SaveDialog1,一个button1里面的备份事件,button3是打开SaveDialog1的
代码如下:
procedure TBuckupDatabaseForm.Button3Click(Sender: TObject);
begin
self.SaveDialog1.Execute;
Self.Edit1.Text := SaveDialog1.FileName;
end;procedure TBuckupDatabaseForm.Button1Click(Sender: TObject);
var
HostName,filename :String;
return :Integer;begin
try
{数据库备份}
filename :=Self.Edit1.Text;
HostName :=LoginForm.edit1.text;
ShowMessage(filename);
return:= ShellExecute(Handle, 'open', PChar('cmd.exe'),PChar('/c mysqldump -h '+HostName+' -u root va >"'+filename+'"' ), nil, SW_HIDE);
ShowMessage(IntToStr(return));
if return <32 then
begin
ShowMessage('请确保mysqldump.exe文件存在');
end
except
on e:Exception do
ShowMessage('程序错误 '+e.Message);
end
end;现在文件是产生了,但是0字节,如果把filename换成真实路径文件字符串就可以产生114kb的东西,如何解决?
代码如下:
procedure TBuckupDatabaseForm.Button3Click(Sender: TObject);
begin
self.SaveDialog1.Execute;
Self.Edit1.Text := SaveDialog1.FileName;
end;procedure TBuckupDatabaseForm.Button1Click(Sender: TObject);
var
HostName,filename :String;
return :Integer;begin
try
{数据库备份}
filename :=Self.Edit1.Text;
HostName :=LoginForm.edit1.text;
ShowMessage(filename);
return:= ShellExecute(Handle, 'open', PChar('cmd.exe'),PChar('/c mysqldump -h '+HostName+' -u root va >"'+filename+'"' ), nil, SW_HIDE);
ShowMessage(IntToStr(return));
if return <32 then
begin
ShowMessage('请确保mysqldump.exe文件存在');
end
except
on e:Exception do
ShowMessage('程序错误 '+e.Message);
end
end;现在文件是产生了,但是0字节,如果把filename换成真实路径文件字符串就可以产生114kb的东西,如何解决?
return:= ShellExecute(Handle, 'open', PChar('cmd.exe'),PChar('/c mysqldump -h '+HostName+' -u root va >D:\Group\anSystem\buckupdatabase\test.sql), nil, SW_HIDE);
就可以了.