如题,我用delphi做的一个程序中的备份功能,便是备份的时候却找不到数据库文件?下面是我写的代码:各位帮我看看,有没有问题,小弟在此谢过了!procedure TForm1.SpeedButton16Click(Sender: TObject);
begin
SaveDialog1.filter:='数据库备份文件(*.bak)|*.bak';
if SaveDialog1.Execute then
edit18.Text := SaveDialog1.FileName;
end;procedure TForm1.SpeedButton13Click(Sender: TObject);
begin
OpenDialog1.filter:='数据库备份文件(*.bak)|*.bak';
if OpenDialog1.Execute then
edit17.Text:=OpenDialog1.FileName
else
edit17.Text:='';
end;procedure TForm1.SpeedButton18Click(Sender: TObject);
begin
OpenDialog1.filter:='数据库备份文件(*.bak)|*.bak';
if OpenDialog1.Execute then
edit19.Text:=OpenDialog1.FileName
else
edit19.Text:='';
end;procedure TForm1.SpeedButton15Click(Sender: TObject);
begin
if edit18.Text='' then
begin
MessageDlg('请选备份路径!',mtInformation,[mbok], 0);
end
else
begin
Label47.Caption:='请选择数据要备份的路径:'+'(正在备份数据......)';
ADO_bak.Close;
ADO_bak.SQL.Clear ;
ADO_bak.SQL.Add('Backup database Credit ') ;
ADO_bak.SQL.Add('to disk='''+edit18.Text+''''+' with init');
try
ADO_bak.ExecSQL;
MessageDlg('备份成功!',mtInformation,[mbok], 0);
Label47.Caption:='请选择数据要备份的路径:';
edit18.Text:='';
except
MessageDlg('备份失败!',mtInformation,[mbok], 0);
Label47.Caption:='请选择数据要备份的路径:';
end;
end;
end;procedure TForm1.SpeedButton14Click(Sender: TObject);
begin
if edit17.Text='' then
begin
MessageDlg('请选还原文件!',mtInformation,[mbok], 0);
end
else
begin
Label46.Caption:='请选择要还原的数据:'+'正在还原数据......';
if Label46.Caption='请选择要还原的数据:'+'正在还原数据......' then
begin
Screen.Cursor:=crHourGlass; // Data.ADOCon.Connected:=false;
ADO_bak.Close;
ADO_bak.SQL.Clear ;
ADO_bak.SQL.Add('Use Master');
ADO_bak.SQL.Add('ALTER DATABASE Credit SET OFFLINE WITH ROLLBACK IMMEDIATE');
ADO_bak.SQL.Add('RESTORE DATABASE Credit') ;
ADO_bak.SQL.Add('FROM disk='''+edit17.Text+'''');
ADO_bak.SQL.Add('ALTER DATABASE Credit SET ONLINE WITH ROLLBACK IMMEDIATE');
try
ADO_bak.ExecSQL;
MessageDlg('还原成功,请重启系统!',mtInformation,[mbok], 0);
Label46.Caption:='请选择要还原的数据:';
Screen.Cursor:=crDefault;
form1.close;
except
MessageDlg('还原失败!',mtInformation,[mbok], 0);
Label46.Caption:='请选择要还原的数据:';
Screen.Cursor:=crDefault;
end;
end;
end;
end;procedure TForm1.SpeedButton17Click(Sender: TObject);
begin
if edit19.Text='' then
begin
MessageDlg('请选要删除的备份文件!',mtInformation,[mbok], 0);
end
else
begin
if MessageDlg('您是否要删除备份数据?',mtInformation,[mbyes,mbno], 0)=mryes then
begin
DeleteFile(edit19.Text);
edit19.Text:='';
SpeedButton8.Enabled:=false;
end
else
exit;
end;
end;
begin
SaveDialog1.filter:='数据库备份文件(*.bak)|*.bak';
if SaveDialog1.Execute then
edit18.Text := SaveDialog1.FileName;
end;procedure TForm1.SpeedButton13Click(Sender: TObject);
begin
OpenDialog1.filter:='数据库备份文件(*.bak)|*.bak';
if OpenDialog1.Execute then
edit17.Text:=OpenDialog1.FileName
else
edit17.Text:='';
end;procedure TForm1.SpeedButton18Click(Sender: TObject);
begin
OpenDialog1.filter:='数据库备份文件(*.bak)|*.bak';
if OpenDialog1.Execute then
edit19.Text:=OpenDialog1.FileName
else
edit19.Text:='';
end;procedure TForm1.SpeedButton15Click(Sender: TObject);
begin
if edit18.Text='' then
begin
MessageDlg('请选备份路径!',mtInformation,[mbok], 0);
end
else
begin
Label47.Caption:='请选择数据要备份的路径:'+'(正在备份数据......)';
ADO_bak.Close;
ADO_bak.SQL.Clear ;
ADO_bak.SQL.Add('Backup database Credit ') ;
ADO_bak.SQL.Add('to disk='''+edit18.Text+''''+' with init');
try
ADO_bak.ExecSQL;
MessageDlg('备份成功!',mtInformation,[mbok], 0);
Label47.Caption:='请选择数据要备份的路径:';
edit18.Text:='';
except
MessageDlg('备份失败!',mtInformation,[mbok], 0);
Label47.Caption:='请选择数据要备份的路径:';
end;
end;
end;procedure TForm1.SpeedButton14Click(Sender: TObject);
begin
if edit17.Text='' then
begin
MessageDlg('请选还原文件!',mtInformation,[mbok], 0);
end
else
begin
Label46.Caption:='请选择要还原的数据:'+'正在还原数据......';
if Label46.Caption='请选择要还原的数据:'+'正在还原数据......' then
begin
Screen.Cursor:=crHourGlass; // Data.ADOCon.Connected:=false;
ADO_bak.Close;
ADO_bak.SQL.Clear ;
ADO_bak.SQL.Add('Use Master');
ADO_bak.SQL.Add('ALTER DATABASE Credit SET OFFLINE WITH ROLLBACK IMMEDIATE');
ADO_bak.SQL.Add('RESTORE DATABASE Credit') ;
ADO_bak.SQL.Add('FROM disk='''+edit17.Text+'''');
ADO_bak.SQL.Add('ALTER DATABASE Credit SET ONLINE WITH ROLLBACK IMMEDIATE');
try
ADO_bak.ExecSQL;
MessageDlg('还原成功,请重启系统!',mtInformation,[mbok], 0);
Label46.Caption:='请选择要还原的数据:';
Screen.Cursor:=crDefault;
form1.close;
except
MessageDlg('还原失败!',mtInformation,[mbok], 0);
Label46.Caption:='请选择要还原的数据:';
Screen.Cursor:=crDefault;
end;
end;
end;
end;procedure TForm1.SpeedButton17Click(Sender: TObject);
begin
if edit19.Text='' then
begin
MessageDlg('请选要删除的备份文件!',mtInformation,[mbok], 0);
end
else
begin
if MessageDlg('您是否要删除备份数据?',mtInformation,[mbyes,mbno], 0)=mryes then
begin
DeleteFile(edit19.Text);
edit19.Text:='';
SpeedButton8.Enabled:=false;
end
else
exit;
end;
end;
解决方案 »
- Delphi制作无画面执行程序
- FastReport报表 问题
- 如何让非窗口组件接收移动消息
- 关于盒子及大富翁被关掉的猜想
- 请问如何设置button和 BitBtn 控件的背景色 ??????????????????
- 为什么ListView1CustomDrawSubItem 事件无法触发?
- 如何用delphi程序实现,将EXCEL导入ACCESS数据库
- 关于转换二进制的问题?比如字符‘@’,怎样转换二进制如:’01000000‘,谢谢大家!
- 注册表问题
- 密码确认功能很多人都做过,我现在想做一个,但是要把密码存在什么地方呢?用数据库来存储吗,那样的话,又要怎么保护密码的安全?
- delphi中combobox中的字怎么设置为不能编辑
- Delphi 中文的官方技术专区
ADO_back.SQL.Add('Use Master');