📄 conndbconfig.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 + -