📄 conndb_accessserver.pas
字号:
/////////////////////////////////////////////////////////////////////////
// 数据库连接对象 ORACLE 类
//1.数据库连接对象(产品基类 ORACLE 数据库)
//2.通过实现 IConnDataBase,配置数据库连接和命名用数据库Connect对象。
//3.可采用BDE和ADO方式连接后台数据库。
//4.ConnfigDBConnection方法是实际的数据库连接配置
//5.连接配置采用统一方式用TConnDBConfig类实现(委托方式),彻底摆脱数据库
// 配置的受缚.
/////////////////////////////////////////////////////////////////////////
unit ConnDB_ACCESSServer;
interface
uses
Classes, ADODB, Controls,Forms,Dialogs, DB, DBTables,Windows, Messages, SysUtils, Variants,
ConnDB, IConnDB;
type
TConnBDEDB_ACCESSServer = class(TConnDB, IConnDataBase)
private
s_DriverName: String;
procedure setBDEDriverName(sBDEDriverName :String);
function getBDEDriverName: String;
public
constructor Create;
destructor Destroy; override;
protected
function getDBConnection: TCustomConnection; override;
function ConnfigDBConnection: Boolean; override;
published
property pBDEDriverName: String read getBDEDriverName write setBDEDriverName;
property pDBConnection: TCustomConnection read getDBConnection;
end;
TConnADODB_ACCESSServer = class(TConnDB, IConnDataBase)
public
constructor Create;
destructor Destroy; override;
protected
function getDBConnection: TCustomConnection; override;
function ConnfigDBConnection: Boolean; override;
published
property pDBConnection: TCustomConnection read getDBConnection;
end;
implementation
{ TConnDB_SQLServer }
constructor TConnBDEDB_ACCESSServer.Create;
begin
inherited Create;
pDBConn := TDatabase.Create(nil);
pBDEDriverName := 'MSACCESS';
end;
destructor TConnBDEDB_ACCESSServer.Destroy;
begin
pDBConn.Free;
inherited Destroy;
end;
procedure TConnBDEDB_ACCESSServer.setBDEDriverName(sBDEDriverName :String);
begin
if (pDBConn is TDataBase) then
begin
(pDBConn as TDataBase).DriverName := sBDEDriverName;
s_DriverName := sBDEDriverName;
end
else
(pDBConn as TDataBase).DriverName := '';
end;
function TConnBDEDB_ACCESSServer.getBDEDriverName: String;
begin
Result := pBDEDriverName;
end;
function TConnBDEDB_ACCESSServer.getDBConnection: TCustomConnection;
begin
Result := pDBConn;
end;
function TConnBDEDB_ACCESSServer.ConnfigDBConnection: Boolean;
begin
Result := false;
end;
constructor TConnADODB_ACCESSServer.Create;
begin
inherited Create;
pDBConn := TADOConnection.Create(nil);
end;
destructor TConnADODB_ACCESSServer.Destroy;
begin
pDBConn.Free;
inherited Destroy;
end;
function TConnADODB_ACCESSServer.getDBConnection: TCustomConnection;
begin
Result := pDBConn;
end;
function TConnADODB_ACCESSServer.ConnfigDBConnection: Boolean;
begin
With pConnDBConfig do
begin
pConnStr := 'Provider=Microsoft.Jet.OLEDB.4.0; Persist Security Info=false; Password="";';
pConnStr := pConnStr + 'User ID=' + pUser+'; Data Source='+ pDBName;
end;
if pDBConn is TADOConnection then
(pDBConn as TADOConnection).ConnectionString := pConnDBConfig.pConnStr;
try
pDBConn.LoginPrompt := false;
(pDBConn as TADOConnection).Provider := 'Microsoft.Jet.OLEDB.4.0';
pDBConn.Connected := true;
Result := true;
except
Result := false;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -