⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit2.pas

📁 老师随机点到
💻 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 + -