📄 dbmgr.~pas
字号:
{-----------------------------------------------------------------------------
Unit Name: DbMgr
Author: mxm
Purpose: Database Manager for HYDBOX
History: 2006.01.19 create
-----------------------------------------------------------------------------}
unit DbMgr;
interface
uses
Windows, Messages, Forms,SysUtils, Classes, AdoDB, Controls, ComCtrls, ExtCtrls,
Dialogs, StdCtrls,Inifiles;
type
TDBManager = class (TObject)
private
FAdoConnHyd:TAdoConnection;
//FAdoConnMain:TAdoConnection;
FQueryMain:TAdoQuery;
FQuery:TAdoQuery;
FADOQuery:TADOQuery;
protected
public
constructor Create();
destructor Destroy();override;
Function Initialize():Boolean;
procedure Finalize();
property AdoConnHyd:TAdoConnection read FAdoConnHyd;
//property AdoConnMain:TAdoConnection read FAdoConnMain;
property Query:TAdoQuery read FQuery;
property QueryMain:TAdoQuery read FQueryMain;
property ADOQuery:TAdoQuery read FADOQuery;
public
Function GetCodeName(nID:Integer;TblName:String):String;
Function GetCodeExtra(nID:Integer;TblName:String):String;
Function AddCmbItem(TblName:String;Combobox :TComboBox): Boolean;
end;
var
GDBManager:TDBManager;
ParaIni: TInifile;
implementation
{ TDBManager }
Function TDBManager.GetCodeName(nID:Integer;TblName:String):String;
var
StrSql:String;
begin
Result:='';
Try
ADOQuery.SQL.Clear ;
StrSql:=Format('select * from %s where Bs=''%s''',[TblName,Format('%.2d',[nID])]);
ADOQuery.SQL.Add(StrSql);
ADOQuery.Open;
ADOQuery.ExecSQL;
if ADOQuery.RecordCount>=0 then begin
Result:=ADOQuery.FieldByName('iName').AsString;
end;
finally
ADOQuery.Close;
end;
end;
Function TDBManager.GetCodeExtra(nID:Integer;TblName:String):String;
var
StrSql:String;
begin
Result:='';
Try
ADOQuery.SQL.Clear ;
StrSql:=Format('select * from %s where Bs=''%s''',[TblName,Format('%.2d',[nID])]);
ADOQuery.SQL.Add(StrSql);
ADOQuery.Open;
ADOQuery.ExecSQL;
if ADOQuery.RecordCount>=0 then begin
Result:=ADOQuery.FieldByName('Extra').AsString;
end;
finally
ADOQuery.Close;
end;
end;
Function TDBManager.AddCmbItem(TblName:String;Combobox :TComboBox): Boolean;
var
StrSql:String;
begin
Result:=True;
Try
ADOQuery.SQL.Clear ;
StrSql:=Format('select * from %s where iValidate=1 Order by ID',[TblName]);
ADOQuery.SQL.Add(StrSql);
ADOQuery.Open;
ADOQuery.ExecSQL;
while not ADOQuery.Eof do begin
Combobox.Items.Add(ADOQuery.FieldByName('iName').AsString);
ADOQuery.Next;
end;
if Combobox.Items.Count>0 then begin
Combobox.ItemIndex:=0;
end;
finally
ADOQuery.Close;
end;
end;
constructor TDBManager.Create();
begin
inherited Create();
FAdoConnHyd:=TAdoConnection.Create(nil);
//FAdoConnMain:=TAdoConnection.Create(nil);
FQuery:=TAdoQuery.Create(nil);
FQueryMain:=TAdoQuery.Create(nil);
FADOQuery:=TAdoQuery.Create(nil);
end;
destructor TDBManager.Destroy();
begin
if Assigned(FQuery) then begin
FreeAndNil(FQuery);
end;
if Assigned(ADOQuery) then begin
FreeAndNil(FADOQuery);
end;
if Assigned(FAdoConnHyd) then begin
FreeAndNil(FAdoConnHyd);
end;
if Assigned(FQueryMain) then begin
FreeAndNil(FQueryMain);
end;
{if Assigned(FAdoConnMain) then begin
FreeAndNil(FAdoConnMain);
end;}
inherited Destroy();
end;
Function TDBManager.Initialize():Boolean;
var
S : String;
DbServerName:String;
begin
ParaIni := TInifile.Create(ExtractFilePath(ParamStr(0))+'\dbs\Config.ini');
DbServerName := ParaIni.ReadString('DBS','ServerName','127.0.0.1');
S:=Format('Provider=SQLOLEDB.1;Password=mxm0130;Persist Security Info=True;User ID=dbHyd;Initial Catalog=%s;Connect Timeout=10;Data Source=%s',
['dbHyd',DbServerName]);
FAdoConnHyd.ConnectionString:=S;
FAdoConnHyd.LoginPrompt:=false;
FAdoConnHyd.Open;
FQuery.Connection:=FAdoConnHyd;
ADOQuery.Connection:=FAdoConnHyd;
FQueryMain.Connection:=FAdoConnHyd;
Result:=True;
end;
procedure TDBManager.Finalize();
begin
FAdoConnHyd.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -