博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delphi动态链接多个数据源执行操作例子
阅读量:7217 次
发布时间:2019-06-29

本文共 2565 字,大约阅读时间需要 8 分钟。

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控件

转载于:https://blog.51cto.com/1546594/2147253

你可能感兴趣的文章
DirectByteBuffer
查看>>
Docker Compose文件详解 V2
查看>>
Memcached的原理与应用(未完)
查看>>
基于 Confluence 6 数据中心的 SAML 单点登录设置你的身份提供者
查看>>
mysql总结
查看>>
Navicat for MySQL版本更新至v11.2.12,修复多项问题|附下载
查看>>
整理 JAVA中的IO流 (字符流和字节流两个大类)
查看>>
uefi与win8 (根据网络资料整理)
查看>>
Eclipse优化
查看>>
Log4j tutorial with Tomcat examples
查看>>
Kong 网关
查看>>
三层结构视频中的DBHelper.cs
查看>>
[转载] 信息系统项目管理师视频教程——18 项目沟通管理
查看>>
在Windows下建立QT开发环境
查看>>
Jedis、JedisPool、ShardedJedis和ShardedJedisPool,java对redis的基本操作
查看>>
[转载] 致命伴侣
查看>>
HTML5 localStorage本地存储实际应用举例
查看>>
Scala访问修饰符
查看>>
实习感悟
查看>>
产品经理网站小结
查看>>