📄 tsql.~pas
字号:
unit TSQL;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB,Registry, StdCtrls, Buttons,STRUTILS,Inifiles;
type
Tfrm_main = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
GroupBox1: TGroupBox;
Memo1: TMemo;
BitBtn3: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_main: Tfrm_main;
reg:TRegistry;
implementation
{$R *.dfm}
var
Sqlini:Tinifile;
procedure Tfrm_main.FormCreate(Sender: TObject);
begin
frm_main.Hide;
Sqlini:=Tinifile.Create(extractfilepath(application.exename)+'.\TSQL.ini');
ADOConnection1.Connected:=false;
try
ADOConnection1.ConnectionString:=widestring('Provider=SQLOLEDB.1;Persist Security Info=true;User ID='+
Sqlini.readString('服务器配置','数据库用户名','sa')+';Password='+Sqlini.readString('服务器配置','数据库密码','sa')
+ ';Initial Catalog='+Sqlini.ReadString('服务器配置','数据库名','contact')+';Data Source='+Sqlini.readString('服务器配置','服务器IP地址','127.0.0.1')+';Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;')+
widestring('Workstation ID='+Sqlini.readString('服务器配置','服务器IP地址','127.0.0.1')+';Password='+Sqlini.readString('服务器配置','数据库密码','sa')+
';Use Encryption for Data=False;Tag with column collation when possible=False');
ADOConnection1.Connected:=true;
Sqlini.Destroy;
frm_main.Visible:=true;
except
Sqlini.writebool('服务器配置','第一次启动',true);
messagedlg('服务器配置错误,请重新配置!',mterror,[mbyes],0);
Sqlini.Destroy;
end;
{ reg := TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;//指定需要操作的注册表的主键
if reg.OpenKey('Software\htgl',true) then
begin
ADOConnection1.Connected := false;
try
ADOConnection1.ConnectionString := widestring('Provider=SQLOLEDB.1;Persist Security Info=true;User ID=' +
reg.readString('SJKYHM') + ';Password=' + reg.readString('SJKMM')
+ ';Initial Catalog=contact;Data Source=' + reg.readString('FWQIP') + ';Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;') +
widestring('Workstation ID=' + reg.readString('FWQIP') + ';Password=' + reg.readString('SJKMM') +
';Use Encryption for Data=False;Tag with column collation when possible=False');
ADOConnection1.Connected := true;
reg.Destroy;
except
ADOConnection1.ConnectionString := widestring('Provider=SQLOLEDB.1;Persist Security Info=true;User ID=sa;Password='
+ ';Initial Catalog=contact;Data Source=192.168.0.1;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;') +
widestring('Workstation ID=192.168.0.1;Password=;Use Encryption for Data=False;Tag with column collation when possible=False');
ADOConnection1.Connected := true;
reg.Destroy;
end;
end; }
end;
procedure Tfrm_main.BitBtn1Click(Sender: TObject);
var
str1,tmpstr:string;
i:integer;
begin
if memo1.Text='' then
begin
MessageBox(Application.handle, '请写入您要执行的SQL语句', '提示', mb_ok + mb_iconwarning);
exit;
end;
str1:=stringreplace(memo1.Text,'go','GO',[rfReplaceAll]);
tmpstr := '';
for i := 1 to Length(str1) do
begin
if midstr(str1, i, 2) <> 'GO' then
begin
tmpstr := tmpstr + midstr(str1, i, 1);
end
else
begin
try
tmpstr:=TRIM(tmpstr);
if COPY(tmpstr,1,1)='O' THEN
DELETE(tmpstr,1,1);
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add(tmpstr); // +' GO '
ADOQUERY1.ExecSQL;
except
messagedlg('SQL语句 “'+tmpstr+' GO'+'”有误',mtinformation,[mbok],0);
exit;
end;
tmpstr := '';
end;
end;
if pos('GO',str1)=0 then
begin
try
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add(str1);
ADOQUERY1.ExecSQL;
except
messagedlg('SQL语句'+str1+'”有误',mtinformation,[mbok],0);
exit;
end;
end;
MessageBox(Application.handle, '命令执行成功', '恭喜', mb_ok + mb_iconinformation);
end;
procedure Tfrm_main.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure Tfrm_main.BitBtn3Click(Sender: TObject);
begin
memo1.Clear;
end;
procedure Tfrm_main.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Application.Terminate;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -