Delphi动态链接多个数据源执行操作例子
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');
初始化表单增加
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 thenbegin 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 dobegin 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 thenbegin ShowMessage('同步成功!');endelsebegin if SumMsg='' then begin ShowMessage('执行失败!'); end else begin ShowMessage(SumMsg); end;end;
end;
界面放一个adoconnection和listbox控件
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。