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

📄 conndb_accessserver.pas

📁 用DELPH写的DAO访问模块.有连接池.应用了各种模块,把数据库操作
💻 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 + -