怎样用delphi编写一个dll供其它开发工具调用来操作数据库 目的:生成一个dll,提供函数供其他系统调用来操作自己系统的数据库! 包括查询,插入,更新,删除!其实就是给自己的系统提供一个接口!使用什么方法比较好,其它工具开发的也行,只要好用!希望能提供示例程序,数据库是oracle9i 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上的朋友,能不能提供个相关简单的示例,实行基本数据操作功能的!具体函数我参照着自己写!主要是没搞过delphi...系统是pb开发的,没法做这样dll! PB也可以的,作成COM就OK了,调用时当做OLE调用就OK 我到是写过一个,就是执行SQL语句的,要不要?要的给我发邮件啊[email protected] PB本身操作数据库相当方便,为什么非得使用Delphi呢? PB本身操作数据库相当方便,为什么非得使用Delphi呢?------ pb 没法做接口 dll 啊 [email protected],来一份学习学习!谢谢 就用Delphi新建一个DLL工程,写几个操作数据库的函数不就行了。 我写过一个com,全部封装好了.查询,插入,更新,打印导入导出.支持连接4种数据(access,sqlserver,oracle,mysql)需要的话,联系我qq. 这类东西建议做成COM/ActiveX方式的 我们是写成dll,用户按我们的格式传入以%%分割的数据,我们执行对应的交易操作,并返回成功与否及错误警告信息.不过执行是通过tuxedo中间件调用后台的存储的.3.1. (交易02)获取参保人信息交易流水号 0(表示此交易不需要申请交易流水号,以下同)sInMsg 内容域1(保留) 0域2(卡信息) 医保IC卡号域3(保留) 域4(保留) 例:0~10021002~~sOutMsg 内容域1(交易状态) 域2(错误信息) 域3(IC卡) 完整的IC卡数据,具体含义参考IC卡数据定义域4(写卡方式) 0域5(保留) 域6(保留) 域7 身份验证结果(16位)含义(位数从左边开始,判断优先级:1,2,8,9,3,4,6,7):第1位:卡被冻结或作废(黑名单)第2位:参保人员是否有效(0:参保 1:没参保或不存在此人)第3位:人员基本医疗黑名单冻结(黑名单)第4位:人员大病医疗黑名单冻结(黑名单)第5位:住院冻结(正在住院中)第6位:当年账户被冻结(黑名单)第7位:往年帐户被冻结(黑名单)第8位:处于医疗等待期范围(不能享受待遇)第9位:处于医疗限制期第一年(即五年磨合期,不能享受待遇)其它位:10-16位保留域8 参保人员类型(1企业医保/3机关医保)例:0~~A000000002 141 11 1 1 0330184820228651 沈 2杭州 1900-01-01000000000.00000000000.00000000000.00000000000.00000000000.00000000000.00000000000.00000000000.00000000000.00000000000.00000000000.00000000000.00000000000.000000000000 1900-01-011 1 1 ~~~~0001000 ~1上面是我们基本的一个交易 1.3.4. f_Trade函数定义 int f_Trade(int type,double code,const char * sInMsg,char * sOutMsg , const char * sInMsg2)所属DLL trade.dll功能 各类用户业务的交易接口说明 此类可以动态加载也可以静态加载,如果软件需要更新,静态加载一定要在更新之后进行,否则将导致软件无法更新参数说明 type 用户交易类型 code 交易流水号(0表示不需要申请,否则传入通过独立交易获得的交易流水号) sInMsg 入口参数,具体内容参考每个用户交易定义 sOutMsg 出口参数,具体内容参考每个用户交易定义 sInMsg2 入口参数2,传入空字符串即可返回结果 >=0 --------- 函数调用成功,信息在sOutMsg,其中返回参数为0表示完全成功没有任何提示信息,返回参数>0表示交易虽然认为成功,但是有一定问题,有返回提示信息(例如重复调用取消住院登记申请,第一次返回为0,第二次返回>0)<0 --------- 函数调用失败,信息在sOutMsg。这是交易函数的文档里的 你可以根据实际情况参照,比如可以设计3个函数(初始化,交易和配置),初始化用来检查数据库连接是否正常,更新交易列表(把所有操作规定为一个交易,并定一个交易编号,写到数据库里,初始化的时候得到这个列表,写到配置里,用来再调用交易时可以先检查是否存在这样的交易,当然你也可以不写,到存储里判断),交易函数用来根据交易编号完成各种操作,如果你的sql执行不在这里进行的话,这里只要起转发和调用就可以了,比如我只是用来call后台的存储并将格式化的数据传过去.这样存储就要用通用的拆分函数.配置函数可以对一些设置进行配置,并保存到ini fenger8293(http://www.pceggs.cn/pgComDefault.aspx?ID=191016) ( )这位朋友貌似做医疗保险的啊?东软的? 很简单,1.做一个Bpl将所有数据表结构映射为类,所有字段映射为属性,与数据库解耦(模拟Hibernate)2.做一个COM+(ObjectBroker),用COM+调用dll,dll里将每个对象的属性,行为封装起来,这样就与开发语言没有关系了 注:dll封装的每个对象的属性可由bpl提供! sxtdxvb:是做医保的,不过不是东软的 to:fenger8293我说嘛,怎么看着你贴出来的很熟悉,呵呵.不过,你贴出来的局限性很大的.后台数据库写死了用户没有执行SQL的能力,交易完全被你函数限定死了只能是一类功能的接口啊. 人家 要得是 "怎样用delphi编写一个dll供其它开发工具调用来操作数据库 "来操作的,而不是楼上2位的,具体到实现某个函数. 放血?散分 求spcomm串口通信控件 怎样美化已经写好的delphi程序? ★★★★★第二十五期:CSDN论坛秀-Delphi版-本期作秀:angle097113(深思不解)--[情侣婚纱秀] ADOconnection连接的一个错误,请教各位大侠 BBS 如何实现分页显示(up有分) 如何将一个数据表中的内容,加到下拉列表中? 关于d6的算法在d2010里出乱码的问题 ADO的问题。 类封装成过程, 如何解释 快速找出最大的数量的人 怎么删除dbgrid中数据?
要的给我发邮件啊
[email protected]
------ pb 没法做接口 dll 啊
全部封装好了.查询,插入,更新,打印导入导出.
支持连接4种数据(access,sqlserver,oracle,mysql)
需要的话,联系我qq.
3.1. (交易02)获取参保人信息
交易流水号 0(表示此交易不需要申请交易流水号,以下同)sInMsg 内容
域1(保留) 0
域2(卡信息) 医保IC卡号
域3(保留)
域4(保留)
例:0~10021002~~sOutMsg 内容
域1(交易状态)
域2(错误信息)
域3(IC卡) 完整的IC卡数据,具体含义参考IC卡数据定义
域4(写卡方式) 0
域5(保留)
域6(保留)
域7 身份验证结果(16位)
含义(位数从左边开始,判断优先级:1,2,8,9,3,4,6,7):
第1位:卡被冻结或作废(黑名单)
第2位:参保人员是否有效(0:参保 1:没参保或不存在此人)
第3位:人员基本医疗黑名单冻结(黑名单)
第4位:人员大病医疗黑名单冻结(黑名单)
第5位:住院冻结(正在住院中)
第6位:当年账户被冻结(黑名单)
第7位:往年帐户被冻结(黑名单)
第8位:处于医疗等待期范围(不能享受待遇)
第9位:处于医疗限制期第一年(即五年磨合期,不能享受待遇)
其它位:10-16位保留
域8 参保人员类型(1企业医保/3机关医保)例:0~~A000000002 141 11 1 1 0330184820228651 沈 2杭州 1900-01-01000000000.00000000000.00000000000.00000000000.00000000000.00000000000.00000000000.00000000000.00000000000.00000000000.00000000000.00000000000.00000000000.000000000000 1900-01-011 1 1 ~~~~0001000 ~1
上面是我们基本的一个交易
函数定义 int f_Trade(int type,double code,const char * sInMsg,char * sOutMsg , const char * sInMsg2)
所属DLL trade.dll
功能 各类用户业务的交易接口
说明 此类可以动态加载也可以静态加载,如果软件需要更新,静态加载一定要在更新之后进行,否则将导致软件无法更新
参数说明 type 用户交易类型
code 交易流水号(0表示不需要申请,否则传入通过独立交易获得的交易流水号)
sInMsg 入口参数,具体内容参考每个用户交易定义
sOutMsg 出口参数,具体内容参考每个用户交易定义
sInMsg2 入口参数2,传入空字符串即可
返回结果 >=0 --------- 函数调用成功,信息在sOutMsg,其中返回参数为0表示完全成功没有任何提示信息,返回参数>0表示交易虽然认为成功,但是有一定问题,有返回提示信息(例如重复调用取消住院登记申请,第一次返回为0,第二次返回>0)
<0 --------- 函数调用失败,信息在sOutMsg。
这是交易函数的文档里的
东软的?
1.做一个Bpl将所有数据表结构映射为类,所有字段映射为属性,与数据库解耦(模拟Hibernate)
2.做一个COM+(ObjectBroker),用COM+调用dll,dll里将每个对象的属性,行为封装起来,这样就与开发语言没有关系了
用户没有执行SQL的能力,交易完全被你函数限定死了
只能是一类功能的接口啊.