conndb_sqlserver.pas
来自「用DELPH写的DAO访问模块.有连接池.应用了各种模块,把数据库操作」· PAS 代码 · 共 138 行
PAS
138 行
{*******************************************************}
{ }
{ 数据库连接对象SQLSERVER类 }
{ }
{ 版权所有 (C) 2009 大道网络 }
{ }
{*******************************************************}
/////////////////////////////////////////////////////////////////////////
//
//1.数据库连接对象(产品基类 SQLServer数据库)
//2.通过实现 IConnDataBase,配置数据库连接和命名用数据库Connect对象。
//3.可采用BDE和ADO方式连接后台数据库。
//4.ConnfigDBConnection方法是实际的数据库连接配置
//5.连接配置采用统一方式用TConnDBConfig类实现(委托方式),彻底摆脱数据库
// 配置的受缚.
/////////////////////////////////////////////////////////////////////////
unit ConnDB_SQLServer;
interface
uses
Classes, ADODB, DB, DBTables, uConnDatabase, uIConnDatabase;
type
TConnADODB_SQLServer = class(TConnDatabase, IConnDatabase)
public
constructor Create;
destructor Destroy; override;
protected
function getDBConnection: TCustomConnection; override;
function ConnfigDBConnection: Boolean; override;
published
property pDBConnection: TCustomConnection read getDBConnection;
end;
TConnBDEDB_SQLServer = class(TConnDatabase, 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;
implementation
{TConnADODB_SQLServer}
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;
(pDBConn as TADOConnection).ConnectionString := pConnDBConfig.pConnStr;
try
pDBConn.LoginPrompt := false;
pDBConn.Connected := true;
Result := true;
except
Result := false;
end;
end;
{ 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;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?