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

📄 conndb_sqlserver.pas

📁 Delphi最新三层源码(1.0),对delphi有帮助
💻 PAS
字号:
/////////////////////////////////////////////////////////////////////////
//                  数据库连接对象SQLSERVER类
//1.数据库连接对象(产品基类 SQLServer数据库)
//2.通过实现 IConnDataBase,配置数据库连接和命名用数据库Connect对象。
//3.可采用BDE和ADO方式连接后台数据库。
//4.ConnfigDBConnection方法是实际的数据库连接配置
//5.连接配置采用统一方式用TConnDBConfig类实现(委托方式),彻底摆脱数据库
//  配置的受缚.
/////////////////////////////////////////////////////////////////////////

unit ConnDB_SQLServer;

interface

uses
  Classes, ADODB, Controls,Forms, DB, DBTables, Dialogs, ConnDB, IConnDB;

type

  TConnBDEDB_SQLServer = 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_SQLServer = 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_SQLServer.Create;
begin
  inherited Create;
  pDBConn := TDatabase.Create(nil);
  pBDEDriverName := 'MSSQL';
end;

destructor TConnBDEDB_SQLServer.Destroy;
begin
  pDBConn.Free;
  inherited Destroy;
end;

procedure TConnBDEDB_SQLServer.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_SQLServer.getBDEDriverName: String;
begin
  Result := pBDEDriverName;
end;

function TConnBDEDB_SQLServer.getDBConnection: TCustomConnection;
begin
  Result := pDBConn;
end;

function TConnBDEDB_SQLServer.ConnfigDBConnection: Boolean;
begin
  Result := false;
end;

constructor TConnADODB_SQLServer.Create;
begin
  inherited Create;
  pDBConn := TADOConnection.Create(nil);
end;

destructor TConnADODB_SQLServer.Destroy;
begin
  pDBConn.Free;
  inherited Destroy;
end;

function TConnADODB_SQLServer.getDBConnection: TCustomConnection;
begin
  Result := pDBConn;
end;

function TConnADODB_SQLServer.ConnfigDBConnection: Boolean;
begin
  With pConnDBConfig do
  begin
    pConnStr := 'Provider=SQLOLEDB.1;Persist Security Info=True;';
    pConnStr := pConnStr + 'Data Source=' + pServerName+'; Initial Catalog=' + pDBName;
    pConnStr := pConnStr + ';User ID='+ pUser +'; Password=' + pPwd;
  end;

  if pDBConn is TADOConnection then
    (pDBConn as TADOConnection).ConnectionString := pConnDBConfig.pConnStr;
  try
    pDBConn.LoginPrompt := false;
    pDBConn.Connected := true;
    Result := true;
  except
    Result := false;
  end;

end;

end.

⌨️ 快捷键说明

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