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

📄 conndbconfig.pas

📁 Delphi最新三层源码(1.0),对delphi有帮助
💻 PAS
字号:
//-------------------------------------------------------------------------
//                    数据库配置参数类
//1.通过该数据库参数类读取数据库配置基本信息。
//
//
//-------------------------------------------------------------------------

unit ConnDBConfig;

interface

uses
  Classes, SysUtils,Controls,Forms, StrUtils, Windows, ADODB, DBTables, DB, Dialogs, IniFiles,
  DataStructureUnit;

type

  TConnDBConfig = class(TPersistent)
    private
      ConnDBParam :TConnDBParam;
      procedure setConnDBKind(tmpConnDBKind: TConnDBKind);
      function getConnDBKind: TConnDBKind;
      procedure setServerName(pServerName :String);
      function getServerName: String;
      procedure setDBName(pDBName :String);
      function getDBName: String;
      procedure setConnStr(pConnStr :String);
      function getConnStr: String;
      procedure setUser(pUser :String);
      function getUser: String;
      procedure setPwd(pPwd :String);
      function getPwd: String;
    
    public
      constructor Create;
      function setConnectionStr: Boolean;
    published
      property pConnDBKind: TConnDBKind read getConnDBKind write setConnDBKind;
      property pServerName: String read getServerName write setServerName;
      property pDBName: String read getDBName write setDBName;
      property pConnStr: String read getConnStr write setConnStr;
      property pUser: String read getUser write setUser;
      property pPwd: String read getPwd write setPwd;
  end;


implementation
  uses ResourceStrUnit, PublicFuncUnit;

constructor TConnDBConfig.Create;
begin
  inherited Create;
end;

procedure TConnDBConfig.setConnDBKind(tmpConnDBKind: TConnDBKind);
begin
  ConnDBParam.connDBKind := tmpConnDBKind;
end;

function TConnDBConfig.getConnDBKind: TConnDBKind;
begin
  Result := ConnDBParam.connDBKind;
end;

procedure TConnDBConfig.setServerName(pServerName :String);
begin
  ConnDBParam.s_ServerName := pServerName;
end;

function TConnDBConfig.getServerName: String;
begin
  Result := ConnDBParam.s_ServerName;
end;

procedure TConnDBConfig.setDBName(pDBName :String);
begin
  ConnDBParam.s_DBName := pDBName;
end;

function TConnDBConfig.getDBName: String;
begin
  Result := ConnDBParam.s_DBName;
end;

procedure TConnDBConfig.setConnStr(pConnStr :String);
begin
  ConnDBParam.s_ConnStr := pConnStr;
end;

function TConnDBConfig.getConnStr: String;
begin
  Result := ConnDBParam.s_ConnStr
end;

procedure TConnDBConfig.setUser(pUser :String);
begin
  ConnDBParam.s_User := pUser;
end;

function TConnDBConfig.getUser: String;
begin
  Result := ConnDBParam.s_User;
end;

procedure TConnDBConfig.setPwd(pPwd :String);
begin
  ConnDBParam.s_Pwd := pPwd;
end;

function TConnDBConfig.getPwd: String;
begin
  Result := ConnDBParam.s_Pwd;
end;

function TConnDBConfig.setConnectionStr: Boolean;
var
  strFilePath: String;
  IniFile: TIniFile;
begin
  strFilePath := ExtractFilePath(ParamStr(0))+'Config\dbConn.ini';
  if(not FileExists(strFilePath)) then
  begin
    MessageBox(Application.handle, PChar(GloRs_ErrorDBConfig), PChar(GloRs_Title), MB_ICONINFORMATION);
    ///////////////////////////////

    //////////////////////////////
    Result := false;
  end else
      begin

        try
          IniFile := TIniFile.Create(strFilePath);
          //读取数据库配置方式:
          with ConnDBParam do
          begin
            s_ConfigDB := IniFile.ReadString('Define','dbConnDef', '');
            s_ConfigDB := uppercase(s_ConfigDB);

            // { SQLSERVER: 1  ORACLE: 2  ACCESS: 3 }
            if UpperCase(s_ConfigDB)= 'SQLSERVER' then
            begin
              connDBKind := dbSOLSERVER;
              pServerName := IniFile.ReadString('connSQLServer', 'ServerName', '');
              pDBName := IniFile.ReadString('connSQLServer', 'DatabaseName', '');
              pUser := IniFile.ReadString('connSQLServer', 'UserName', '');
              pPwd := IniFile.ReadString('connSQLServer', 'Password', '');
            end
            else if UpperCase(s_ConfigDB)= 'ORACLE' then
                 begin
                   ConnDBKind := dbORACLE;
                   pServerName := IniFile.ReadString('connOracle', 'ServerName', '');
                   pDBName := IniFile.ReadString('connOracle', 'DatabaseName', '');
                   pUser := IniFile.ReadString('connOracle', 'UserName', '');
                   pPwd := IniFile.ReadString('connOracle', 'Password', '');
                 end
                 else if UpperCase(s_ConfigDB)= 'ACCESS' then
                      begin
                        ConnDBKind := dbACCESS;
                        pDBName := IniFile.ReadString('connAccess', 'DatabasePath', '');
                        pUser := IniFile.ReadString('connAccess', 'UserName', '');
                      end;
            //解密字符串:
            pPwd := DecodeStr(pPwd,s_Key);
            if not (ConnDBKind in [dbSOLSERVER, dbORACLE, dbACCESS]) then
            begin
              MessageBox(Application.Handle, PChar(GloRs_ErrorDBConfigErr), PChar(GloRs_Title), MB_ICONINFORMATION);
              Application.Terminate;
              Result := false;
            end else
                  Result := true;
          end;

        except
          MessageBox(Application.Handle, PChar(GloRs_ErrorDBConfigErr), PChar(GloRs_Title), MB_ICONINFORMATION);
          Application.Terminate;
          Result := false;
        end;
      end;

end;



end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -