📄 unit2.pas
字号:
unit Unit2;
interface
uses
SysUtils, Classes, ADODB, DB, Windows;
type
TDM = class(TDataModule)
CNNSQL: TADOConnection;
qrySQLStus: TADOQuery;
cmdGlobal: TADOCommand;
tblSQLStus: TADOTable;
CNNExcel: TADOConnection;
qryTmp: TADOQuery;
tblExelStus: TADOTable;
tblExelStusDSDesigner: TWideStringField;
tblExelStusDSDesigner2: TWideStringField;
tblExelStusDSDesigner3: TWideStringField;
procedure DataModuleDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function DBSvrReadyTest: Boolean;
function GlobalCommandExcute(strCmd: String): Boolean;
function WriteSvrInfo(strUserLoginName: String; strUserPsd: String; strSvrIP: String): Boolean;
procedure StudentsInfoDisplayHdl;
end;
var
DM: TDM;
implementation
{$R *.dfm}
{
Provider=SQLOLEDB.1;Password=test;Persist Security Info=True;User ID=SQLTestUser;Initial Catalog=SQLDB;Data Source=127.0.0.1
}
uses Registry;
procedure TDM.StudentsInfoDisplayHdl;
begin
if qrySQLStus.Active then
begin
qrySQLStus.Fields[0].DisplayLabel := '学号';
qrySQLStus.Fields[0].DisplayWidth := 12;
qrySQLStus.Fields[0].Alignment := taRightJustify;
qrySQLStus.Fields[1].DisplayLabel := '姓名';
qrySQLStus.Fields[1].DisplayWidth := 6;
qrySQLStus.Fields[1].Alignment := taCenter;
qrySQLStus.Fields[2].DisplayLabel := '班级';
qrySQLStus.Fields[2].DisplayWidth := 8;
qrySQLStus.Fields[2].Alignment := taLeftJustify;
end;
end;
function TDM.WriteSvrInfo(strUserLoginName: String; strUserPsd: String; strSvrIP: String): Boolean;
var
Reg : TRegistry;
retV1, retV2, retV3 : Boolean;
begin
retV1 := False;
retV2 := False;
retV3 := False;
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('SOFTWARE\SRX', True) then
begin
Reg.WriteString('UserName', strUserLoginName);
Reg.WriteString('UserPassWord', strUserPsd);
Reg.WriteString('SvrIPAddr', strSvrIP);
if Reg.ValueExists('UserName') then retV1 := True;
if Reg.ValueExists('UserPassWord') then retV2 := True;
if Reg.ValueExists('SvrIPAddr') then retV3 := True;
end;
Result := retV1 and retV2 and retV3;
end;
function TDM.GlobalCommandExcute(strCmd: String): Boolean;
var
retVal : Boolean;
begin
retVal := False;
if CNNSQL.InTransaction then
CNNSQL.CommitTrans;
CNNSQL.BeginTrans;
try
cmdGlobal.CommandText := strCmd;
cmdGlobal.Execute;
CNNSQL.CommitTrans;
retVal := True;
except
CNNSQL.RollbackTrans;
end;
Result := retVal;
end;
function TDM.DBSvrReadyTest: Boolean;
var
retVal : Boolean;
StrCnn : String;
Reg : TRegistry;
strUserName, strUserPsd, strSvrIP : String;
begin
retVal := False;
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
// False because we do not want to create it if it doesn't exist
//if not Reg.KeyExists('SOFTWARE\SRX') then
// Reg.CreateKey('SOFTWARE\SRX');
if Reg.OpenKey('SOFTWARE\SRX', True) then
begin
if not Reg.ValueExists('UserName') then
Reg.WriteString('UserName','SQLTestUser');
if not Reg.ValueExists('UserPassWord') then
Reg.WriteString('UserPassWord','test');
if not Reg.ValueExists('SvrIPAddr') then
Reg.WriteString('SvrIPAddr','127.0.0.1');
strUserName := Reg.ReadString('UserName');
strUserPsd := Reg.ReadString('UserPassword');
strSvrIP := Reg.ReadString('SvrIPAddr');
StrCnn := 'Provider=SQLOLEDB.1;Password='
+ strUserPsd
+ ';Persist Security Info=True;User ID='
+ strUserName
+ ';Initial Catalog=SQLDB;Data Source='
+ strSvrIP;
try
if CNNSQL.Connected then CNNSQL.Close;
CNNSQL.ConnectionString := StrCnn;
CNNSQL.Open;
tblSQLStus.Open;
retVal := True;
except
;
end;
end; //if Reg.OpenKey('HKEY_LOCAL_MACHINE\SOFTWARE\SRX', True) then
Reg.Free;
Result := retVal;
end;
procedure TDM.DataModuleDestroy(Sender: TObject);
begin
if CNNSQL.Connected then
CNNSQL.Close;
if CNNExcel.Connected then
CNNExcel.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -