procedure TForm1.Button1Click(Sender: TObject);var str:string; begin if OpenDialog1.Execute then begin try if not ADOCon.Connected then ADOCon.Connected:=true; with DataADOQ do begin Close; Sql.Clear; str:='use master Backup DataBase waterDB to disk ='''+opendialog1.FileName+'.dak'+'''' ; Sql.Add(str); ExecSQL; end; except Application.MessageBox('数据备份失败!','提示',MB_OK + MB_ICONSTOP); exit; end; Application.MessageBox('数据库备份成功!','提示',MB_OK + MB_ICONINFORMATION); end; end;
procedure TForm1.Button1Click(Sender: TObject);var str:string; begin if OpenDialog1.Execute then begin try if not ADOCon.Connected then ADOCon.Connected:=true; with DataADOQ do begin Close; Sql.Clear; str:='use master Backup DataBase waterDB to disk ='''+opendialog1.FileName+'.dak'+'''' ; Sql.Add(str); ExecSQL; end; except Application.MessageBox('数据备份失败!','提示',MB_OK + MB_ICONSTOP); exit; end; Application.MessageBox('数据库备份成功!','提示',MB_OK + MB_ICONINFORMATION); end; end;
数据备份: procedure TDataBaseBackUpFM.btnBackUpClick(Sender: TObject); begin with adocommand1 do try screen.Cursor := crSqlWait; try Connection.Connected := false; btnBackUp.Enabled := false; CommandText := 'Backup DataBase ' + trim(edtDataBaseName.Text) +' to disk = ' + quotedStr(trim(edtBackUpFileName.Text)) + ' with init'; execute; ShowInfoMessage('备份成功'); btnBackUp.Enabled := true; finally screen.Cursor := crDefault; end; except on e: exception do begin ShowErrorMessage('备份失败!原因是:' + e.Message); btnBackUp.Enabled := true; end; end; end; 数据恢复: procedure TDataBaseRestoreFM.btnBackUpClick(Sender: TObject); begin with adocommand1 do try screen.Cursor := crSqlWait; try Connection.Connected := false; btnBackUp.Enabled := false; CommandTExt := 'use master'; execute; CommandText := 'ALTER DATABASE ' + trim(edtDataBaseName.Text) + ' SET OFFLINE WITH ROLLBACK IMMEDIATE'; execute; CommandText := 'restore DataBase ' + trim(edtDataBaseName.Text) +' from disk = ' + quotedStr(trim(edtBackUpFileName.Text)) + ' with Replace'; execute; CommandText := 'ALTER DATABASE ' + trim(edtDataBaseName.Text) + ' SET ONLINE WITH ROLLBACK IMMEDIATE'; execute; CommandText := 'Use ' + trim(edtDataBaseName.Text); execute; Connection.Connected := true; CommandText := 'Use ' + trim(edtDataBaseName.Text); execute;
btnBackUp.Enabled := true; finally screen.Cursor := crDefault; end; except on e: exception do begin ShowErrorMessage('还原失败!原因是:' + e.Message); btnBackUp.Enabled := true; end; end;
str:string;
begin
if OpenDialog1.Execute then
begin
try
if not ADOCon.Connected then ADOCon.Connected:=true;
with DataADOQ do
begin
Close;
Sql.Clear;
str:='use master Backup DataBase waterDB to disk ='''+opendialog1.FileName+'.dak'+'''' ;
Sql.Add(str);
ExecSQL;
end;
except
Application.MessageBox('数据备份失败!','提示',MB_OK + MB_ICONSTOP);
exit;
end;
Application.MessageBox('数据库备份成功!','提示',MB_OK + MB_ICONINFORMATION); end;
end;
str:string;
begin
if OpenDialog1.Execute then
begin
try
if not ADOCon.Connected then ADOCon.Connected:=true;
with DataADOQ do
begin
Close;
Sql.Clear;
str:='use master Backup DataBase waterDB to disk ='''+opendialog1.FileName+'.dak'+'''' ;
Sql.Add(str);
ExecSQL;
end;
except
Application.MessageBox('数据备份失败!','提示',MB_OK + MB_ICONSTOP);
exit;
end;
Application.MessageBox('数据库备份成功!','提示',MB_OK + MB_ICONINFORMATION); end;
end;
procedure TDataBaseBackUpFM.btnBackUpClick(Sender: TObject);
begin
with adocommand1 do
try
screen.Cursor := crSqlWait;
try
Connection.Connected := false;
btnBackUp.Enabled := false;
CommandText := 'Backup DataBase ' + trim(edtDataBaseName.Text) +' to disk = ' +
quotedStr(trim(edtBackUpFileName.Text)) + ' with init';
execute;
ShowInfoMessage('备份成功');
btnBackUp.Enabled := true;
finally
screen.Cursor := crDefault;
end;
except
on e: exception do
begin
ShowErrorMessage('备份失败!原因是:' + e.Message);
btnBackUp.Enabled := true;
end;
end;
end;
数据恢复:
procedure TDataBaseRestoreFM.btnBackUpClick(Sender: TObject);
begin
with adocommand1 do
try
screen.Cursor := crSqlWait;
try
Connection.Connected := false;
btnBackUp.Enabled := false;
CommandTExt := 'use master';
execute;
CommandText := 'ALTER DATABASE ' + trim(edtDataBaseName.Text) +
' SET OFFLINE WITH ROLLBACK IMMEDIATE';
execute;
CommandText := 'restore DataBase ' + trim(edtDataBaseName.Text) +' from disk = ' +
quotedStr(trim(edtBackUpFileName.Text)) + ' with Replace';
execute;
CommandText := 'ALTER DATABASE ' + trim(edtDataBaseName.Text) +
' SET ONLINE WITH ROLLBACK IMMEDIATE';
execute;
CommandText := 'Use ' + trim(edtDataBaseName.Text);
execute; Connection.Connected := true;
CommandText := 'Use ' + trim(edtDataBaseName.Text);
execute;
btnBackUp.Enabled := true;
finally
screen.Cursor := crDefault;
end;
except
on e: exception do
begin
ShowErrorMessage('还原失败!原因是:' + e.Message);
btnBackUp.Enabled := true;
end;
end;