📄 deletedb.pas
字号:
unit DeleteDB;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGridEh, StdCtrls, ExtCtrls, inifiles,
Base_C, DBClient, DB;
type
Tfrmdeletedb = class(TfrmBase_C)
Panel1: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Edit2: TEdit;
Edit1: TEdit;
Edit3: TEdit;
Panel2: TPanel;
DBGridEh1: TDBGridEh;
CDSdatabase: TClientDataSet;
DSdatabase: TDataSource;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure DBGridEh1GetCellParams(Sender: TObject; Column: TColumnEh;
AFont: TFont; var Background: TColor; State: TGridDrawState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit3Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmdeletedb: Tfrmdeletedb;
implementation
uses Global, DataProcess;
{$R *.dfm}
procedure Tfrmdeletedb.DBGridEh1GetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
inherited;
if dbgrideh1.SumList.RecNo mod 2=1 then
background:=$00EAEFED
else
background:=clWhite;
end;
procedure Tfrmdeletedb.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
frmdeletedb:=nil;
end;
procedure Tfrmdeletedb.Button1Click(Sender: TObject);
var
s:string;
ini:Tinifile;
begin
inherited;
if Trim(Edit1.Text)='' then
begin
messagedlg('SQL登入名称不能为空 ! ',mtError,[mbok],0);
Exit;
end;
if Trim(Edit2.Text)='' then
begin
messagedlg('密码不能为空 ! ',mtError,[mbok],0);
Exit;
end;
if Trim(Edit3.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('服务器地址不正确 !',mterror,[mbok],0);
exit;
end;
finally
ini.Free;
end;
if not Getsqldata(CDSdatabase,'Master..erpdb','fid','fid>0',10) then
begin
messagedlg('中间层没有启动或是出错 !',mterror,[mbok],0);
Exit;
end;
end;
procedure Tfrmdeletedb.Button3Click(Sender: TObject);
var
Cddb:String;
begin
inherited;
if not CDSdatabase.Active then Exit;
if CDSDatabase.RecordCount = 0 then
begin
messagedlg('没有可删除帐套 !',mtError,[mbok],0);
Exit;
end;
cDdb:=CDSdatabase.fieldbyname('dbname').AsString;
if cDdb=gs_GetDBName then
begin
messagedlg('当前帐套正在使用,不能删除 ! ',mtError,[mbok],0);
Exit;
end;
try
screen.Cursor:=crSQLwait;
cExecsql(' Use Master ');
if cExecsql(' drop database '+cDdb+' select 1') then
begin
if cExecsql('Delete from Master..erpdb where dbname='+vartosql(cDdb)) then
messagedlg('帐套已删除 !',mtWarning,[mbok],0);
csyslog(self.Name,'删除帐套 : '+cDdb);
frmdeletedb.Close;
end
else
begin
messagedlg('帐套删除不成功 ! ',mtWarning,[mbok],0);
csyslog(self.Name,'帐套删除不成功'+cDdb);
exit;
end;
except
on E:exception do
begin
messagedlg('删除帐套失败 !'+#10#13+E.Message,mtError,[mbok],0);
Exit;
end;
end;
cExecsql(' Use '+gs_GetDbname);
screen.Cursor:=crDefault;
end;
procedure Tfrmdeletedb.Button2Click(Sender: TObject);
begin
inherited;
close;
end;
procedure Tfrmdeletedb.Edit3Exit(Sender: TObject);
begin
inherited;
button1.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -