请问delphi7如何备份和恢复数据库(ACCESS或SQL SERVER)
希望能给出2种方法的代码,谢谢
希望能给出2种方法的代码,谢谢
解决方案 »
- delphi关于cooki的操作
- 请问如何把字符串从aaabbb变成aaaCCCbbb,及在串某一个位置插入一串形成新串??
- 如何在 delphi5 中 编译外部代码
- 一个图像组件,并且有文字描述
- StringGrid 下横线问题
- 请教一下这是为什么不能调用?
- 高分诚问算法,有合理建议者给分
- 我如何在win2000中调用自身的拨号程序????急!!!谢了。大侠们!!
- 有誰能夠把Delphi編譯的exe文件進行反編譯然後得到源代碼。
- 如何在用了TRY...EXCPT后,还可以拦截异常报错信息?
- 请求在DELPHI5下使用的资料!
- 动态生成了五个button,怎么知道那一个被单击了? 它们分别执行不同的代码!!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;type
TdlgBackUpRestore = class(TForm)
btBackUp: TSpeedButton;
btRestore: TSpeedButton;
Label1: TLabel;
btClose: TSpeedButton;
OpenDialog1: TOpenDialog;
Image1: TImage;
procedure btBackUpClick(Sender: TObject);
procedure btRestoreClick(Sender: TObject);
procedure btCloseClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
dlgBackUpRestore: TdlgBackUpRestore;implementationuses DMu, PubDB;{$R *.dfm}procedure TdlgBackUpRestore.btBackUpClick(Sender: TObject);
begin
Caption := '正在备份数据库...';
with DM.T do
begin
Close;
SQL.Text := 'BACKUP DATABASE [Dress] TO DISK = ''' + FORMATDATETIME('YYYYMMDD', GetServerDateTime) + ''' WITH NOFORMAT, SKIP, NOUNLOAD, STATS = 10';
try
ExecSQL;
Caption := '祝贺您, 数据备份操作成功';
btBackup.Enabled := False;
except
Application.MessageBox('操作失败, 请检查磁盘的写保护!', '提示', MB_OK);
Abort;
end;//try
end;//with DM.T do
end;procedure TdlgBackUpRestore.btRestoreClick(Sender: TObject);
var
sFileName: ShortString;
begin
if MessageDlg('真的要恢复数据库吗?此操作将不可逆转!', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
Caption := '正在恢复数据库...';
if OpenDialog1.Execute then
begin
sFileName := TRIM(OpenDialog1.Files.Text);
with DM.T do
begin
Close;
SQL.Text := 'RESTORE DATABASE [Dress] FROM DISK = ''' + sFileName + ''' WITH FILE = 1, RECOVERY, NOUNLOAD, STATS = 10';
try
ExecSQL;
Caption := '祝贺您, 数据恢复操作成功';
btRestore.Enabled := False;
except
Application.MessageBox('操作失败, 数据库使用中或者路径有误!', '提示', MB_OK);
Abort;
end;//try
end;//with DM.T do
end;//OpenDialog1.Execute then
end;//mrYes
end;procedure TdlgBackUpRestore.btCloseClick(Sender: TObject);
begin
Close;
end;end.
begin
Clear;
SQL.Add('backup database mydb to disk = ''c:\bak\20010608.dat'' ');
ExecSQL;
end;
恢复时把他们复制回来。别忘了恢复时不要使用数据库