数据管道 本是古典 何须时尚 2022-09-28 01:50 150阅读 0赞 本例主要描述了数据管道的用法,我们首先看看数据管道的一些基础知识: 数据管道主要可以完成以下几个功能: > 数据库之间数据的传送 > 修改表的结构,象主键标,是否可为NULL等 我们在Pipeline画板中创建一个管道对象时,必须说明以下这些参数: <table style="width: 59%; height: 106px;"> <tbody> <tr> <td>Source Connection</td> <td>源数据库</td> </tr> <tr> <td>Destination Connection</td> <td>目的数据库</td> </tr> <tr> <td>Data Source</td> <td>源表</td> </tr> <tr> <td>Table</td> <td>目的表</td> </tr> <tr> <td>Option</td> <td>管道操作</td> </tr> </tbody> </table> 其中管道操作方式有: > Create: 添加表(表不能存在〕 > Replace: 删除再添加表(表可以存在 > Refresh: 删除再插入行 > Append: 插入行 > Update: 更新/插入行 管道对象属性: > RowsInError Long 管道中发现的错误的行数 > RowsRead Long 管道已读取行数 > RowsWritten Long 写入数据库的行数 > DataObject String 管道对象名 > Syntax String 建立管道对象的语法字符串 管道对象函数: > Cancel Integer 中止管道执行 > ClassName String 返回用户对象的名称 > GetParent PowerObject 返回父对象的名称 > PostEvent Boolean 在用户对象的消息队列末增加一个事件 > Repair Integer 修正目的数据库 > Start Integer 执行管道 > TriggerEvent Integer 送一个事件到用户对象并执行事件脚本 > TypeOf Object 返回用户对象的类型 -------------------- 要在程序中使用管道,必须要在Pipeline画板中创建一个管道对象,一个管道类型的 标准用户类对象和包含DataWindow控件的窗口。 PowerBuilder检测到任何管道错误后 将使用标准的dataWindow显示这个错误, datewindow 每个无效行显示全部的列,并显 示一条错误消息。在本例中,创建了3个管道对象: > p\_emp\_master\_create, > p\_emp\_transaction\_create, > p\_emp\_master\_transaction\_update. p\_emp\_create为employee表建一个拷贝,作为本例的Master Table, p\_emp\_transaction\_create建立本例的Transaction Table, p\_emp\_master\_transaction\_update根据所选部门和Transaction Table的内容修改Master Table相应记录,它的语法为: SELECT "emp\_pipe\_transaction"."emp\_id", "emp\_pipe\_transaction"."emp\_fname", "emp\_pipe\_transaction"."emp\_lname", "emp\_pipe\_transaction"."dept\_id", "emp\_pipe\_transaction"."bene\_health\_ins", "emp\_pipe\_transaction"."bene\_life\_ins", "emp\_pipe\_transaction"."bene\_day\_care" FROM "emp\_pipe\_transaction" WHERE ( emp\_pipe\_transaction.dept\_id = :department\_id ) 其中::department\_id即为在数据窗口dw\_dept中所选部门的id号。 管道类型的用户对象有2个:p\_pipe\_wmeter和p\_pipe\_wometer,它们都是从pipeline继承来 的,都包含有3个静态文本类型的实例变量:st\_read,st\_written,st\_errors。 p\_pipe\_wmeter 在它的pipemeter事件中对它们赋值,在窗口的Open事件中把它们与窗口上的3个静态 文本控件联系起来,动态显示当前数据管道的进度。 总结: 要实现数据管道要完成以下几步: > 1. 创建Pipeline类型的标准不可视用户对象p\_pipe\_meter > 2. 在Pipeline中创建一数据管道(作为第5步的DataObject) > 3. 创建一窗口(带一数据窗口控件PipeError和命令按钮〕 > 4. 在OPEN事件中创建一p\_pipe\_meter类型的iu\_PipeLine实例变量 > 5. 设置iu\_PipeLine的DataObject特性 > 6. 连接源数据库和目的数据库 > 7. 启动数据管道(按钮Clicked事件〕 > 8. 动态修改进度(数据管道的PipeMeter事件) > 9. Cancel事件 > 10.管道修复 > 11.提示完成(PipeEnd事件〕 > 12.断开数据库,Destory用户对象。
还没有评论,来说两句吧...