Delphi動態鏈接多個數據源執行操作例子
阿新 • • 發佈:2018-07-19
ado btn form ldb var 運行 數據源 ons user 1.首先配置文件
[SubExamDep1]
DBSERVER=(local)
DBNAME=herpeisweixin
USERNAME=sa
PWD=bjbr
MSG=SubExamDep1失敗
[SubExamDep2]
DBSERVER=(local)
DBNAME=herpeisFZTJ
USERNAME=sa
PWD=bjbr
MSG=SubExamDep2失敗
2.工程文件加入 Inifiles 文件
public:
MyIni :Tinifile;
glAppPath :string;
create 事件增加
glAppPath := ExtractFilePath(Application.ExeName);//獲取當前運行程序的路徑
MyIni := Tinifile.Create(glAppPath + ‘SubDBConfig.ini‘);
[SubExamDep1]
DBSERVER=(local)
DBNAME=herpeisweixin
USERNAME=sa
PWD=bjbr
MSG=SubExamDep1失敗
[SubExamDep2]
DBSERVER=(local)
DBNAME=herpeisFZTJ
USERNAME=sa
PWD=bjbr
MSG=SubExamDep2失敗
2.工程文件加入 Inifiles 文件
public:
MyIni :Tinifile;
glAppPath :string;
create 事件增加
glAppPath := ExtractFilePath(Application.ExeName);//獲取當前運行程序的路徑
初始化表單增加
with spSP_SyncOrg do
begin
ProcedureName:=‘P_SYNCORGINF‘; Parameters.CreateParameter(‘@ID_Org‘, ftInteger, pdInput, 0,null ); Parameters.CreateParameter(‘@ID_OrgReservation‘, ftInteger, pdInput, 0, null); Parameters.CreateParameter(‘@RetMsg‘,ftString,pdOutput,50,null) end; 實現按鈕事件 procedure TFormPeisOrgReservation.btn_IssuedSubClick(Sender: TObject);
var
i:Integer;
DBSERVER,DBNAME,USERNAME,PWD:string;
CurSecetion:string;
CURID_ORG,CURID_OrgReservation :Integer;
MSG,retMSG,SumMsg:string;
sucessnum:Integer;
begin
MSG:=‘‘;
retMSG:=‘‘;
SumMsg:=‘‘;
if not aqMain1.Active then begin Exit; end; lst1.Clear; CURID_ORG:=aqMain1.fieldbyname(‘ID_Org‘).Value; CURID_OrgReservation:=aqMain1.fieldbyname(‘ID_OrgReservation‘).Value; sucessnum:=0; MyIni.ReadSections(lst1.Items); for i:=0 to lst1.Count-1 do begin CurSecetion:=lst1.Items[i]; DBSERVER:=MyIni.ReadString(CurSecetion,‘DBSERVER‘,‘‘); DBNAME:=MyIni.ReadString(CurSecetion,‘DBNAME‘,‘‘); USERNAME:=MyIni.ReadString(CurSecetion,‘USERNAME‘,‘‘); PWD:=MyIni.ReadString(CurSecetion,‘PWD‘,‘‘); MSG:=MyIni.ReadString(CurSecetion,‘MSG‘,‘‘); try ADOConnection1SUB.Connected:=False; ADOConnection1SUB.ConnectionString:=‘Provider=SQLOLEDB.1;Password=‘+PWD+‘;Persist Security Info=True;User ID=‘+USERNAME+‘;Initial Catalog=‘+DBNAME+‘;Data Source=‘+DBSERVER; ADOConnection1SUB.Connected:=True; spSP_SyncOrg.Parameters.ParamByName(‘@ID_ORG‘).Value:=CURID_ORG; spSP_SyncOrg.Parameters.ParamByName(‘@ID_OrgReservation‘).Value:=CURID_OrgReservation; spSP_SyncOrg.ExecProc; retMSG:=spSP_SyncOrg.Parameters.ParamByName(‘@RetMsg‘).Value; if retMSG=‘同步成功!‘ then begin sucessnum:=sucessnum+1; end; if retMSG=‘同步失敗!‘ then begin if SumMsg=‘‘ then begin SumMsg:=MSG; end else begin SumMsg:=SumMsg+‘,‘+MSG; end; end; except end; end; if sucessnum=lst1.Count then begin ShowMessage(‘同步成功!‘); end else begin if SumMsg=‘‘ then begin ShowMessage(‘執行失敗!‘); end else begin ShowMessage(SumMsg); end; end;
end;
界面放一個adoconnection和listbox控件
Delphi動態鏈接多個數據源執行操作例子