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 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控件
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
标题名称:Delphi动态链接多个数据源执行操作例子-创新互联
文章源于:http://cdiso.cn/article/esehe.html