📄 databasebackup.pas
字号:
unit Databasebackup;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Mask, wwdbedit, Wwdotdot, StdCtrls, inifiles, adodb,
Base_C;
type
Tfrmdatabasebackup = class(TfrmBase_C)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Edit2: TEdit;
Edit1: TEdit;
Edit3: TEdit;
Label3: TLabel;
dbstart: TwwDBComboDlg;
SaveDialog1: TSaveDialog;
Button1: TButton;
Button2: TButton;
procedure dbstartCustomDlg(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmdatabasebackup: Tfrmdatabasebackup;
implementation
uses Global;
{$R *.dfm}
procedure Tfrmdatabasebackup.dbstartCustomDlg(Sender: TObject);
begin
inherited;
savedialog1.Options:=[ofFileMustExist];
if savedialog1.Execute then
dbstart.Text:=savedialog1.FileName;
end;
procedure Tfrmdatabasebackup.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
frmdatabasebackup:=nil;
end;
procedure Tfrmdatabasebackup.Button2Click(Sender: TObject);
begin
inherited;
Close;
end;
procedure Tfrmdatabasebackup.Button1Click(Sender: TObject);
var
s:string;
ini:Tinifile;
sqlstr:String;
begin
inherited;
if Trim(Edit1.Text)='' then
begin
messagedlg('SQL登入名不能为空 ! ',mtError,[mbok],0);
Exit;
end;
if Trim(Edit2.Text)='' then
begin
messagedlg('SQL密码不能为空 !',mtError,[mbok],0);
Exit;
end;
if Trim(Edit3.Text)='' then
begin
messagedlg('服务器地址不能为空 !',mtError,[mbok],0);
Exit;
end;
if Trim(dbstart.Text)='' then
begin
messagedlg('备份文件名不能为空 !',mtError,[mbok],0);
Exit;
end;
s:=GetLogDir('Log')+'adolinksetting.ini';
if not fileExists(s) then
begin
messagedlg('sql连接设置有误,请联系系统管理员 !',mtError,[mbok],0);
Exit;
end;
try
ini:=Tinifile.Create(s);
if Trim(uppercase(edit1.Text))<>Trim(uppercase(ini.ReadString('Login','User ID',''))) then
begin
messagedlg('SQL登入名称不正确!',mterror,[mbok],0);
exit;
end;
if Trim(edit2.Text)<>Trim(f_encrypt(ini.ReadString('Login','Password',''))) then
begin
messagedlg('SQL密码不正确 !',mterror,[mbok],0);
exit;
end;
if Trim(uppercase(edit3.Text))<>Trim(uppercase(ini.ReadString('Login','Server Name',''))) then
begin
messagedlg('SQL主机地址不正确 !',mterror,[mbok],0);
exit;
end;
finally
ini.Free;
end;
sqlStr:='';
sqlstr:='BACKUP DATABASE '+Trim(gs_GetDBName)+' TO DISK ='+''''+dbstart.Text+''''+' with init';
try
screen.Cursor:=crSqlWait;
if cexecsql(sqlStr) then
begin
messagedlg('成功备份 !',mtwarning,[mbok],0);
csyslog(self.Name,'备份数据库');
frmdatabasebackup.Close;
end
else
begin
messagedlg('备份数据库不成功 ! ',mtwarning,[mbok],0);
csyslog(self.Name,'数据库备份失败 ');
exit;
end;
except
on E:exception do
begin
screen.Cursor:=crDefault;
messagedlg('数据库备份失败 !'+#10#13+E.Message,mtwarning,[mbok],0);
Exit
end;
end;
screen.Cursor:=crDefault;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -