您的位置:首页 > 数据库

数据窗口中的DATA属性以及批量复制数据

2011-08-08 08:42 204 查看
 数据窗口被誉为Sybase 的专利技术,以其与数据库通信简单,数据操作简单,以及方便制作各式复杂报表而著称。在使用过程中我们需要大量的复制数据,从一个数据窗口到另一个数据窗口。这时我们可以使用的技术有如下几种:
一、rowscopy

遵循两个数据窗口对象中的列个数、名称、类型、顺序一致的原则。

二、rowsmove

遵循两个数据窗口对象中的列个数、名称、类型、顺序一致的原则。

三、循环语句实现

四、sharedata

遵循两个数据窗口对象中的列个数、名称、类型、顺序一致的原则。

五、data属性

本章讲述使用数据窗口的data属性来实现。

数据窗口的data属性得到的结果

我们指定DWControl.Descirbe("datawindow.data")得到的是以 TAB分割的数据内容。

而通过DWControl.object.data返回的是一个数组形式的数据。

因此我们可以使用以下两个方法来批量复制数据。

一个是

引用语法为DWControl.object.data[startrow,startcolumn,endrow,endcolumn];//拷贝指定数据行的数据

另一个是

DWControl.Importstring(DWControl.object.datawindow.data);//拷贝所有数据行

这两种方法都可以达到我们的目的。

 

以下讲述一下使用

DWControl.object.data[startrow,startcolumn,endrow,endcolumn]的注意事项:

A。若data[arg1]仅有一个参数,则这个参数不可以大于数据窗口中总的数据行数,否则会有错误发生。

仅有一个参数表示需要复制的数据为 第arg1行的数据(从第一列到最后一列)。

B。若data[arg1,arg2]

表示要复制的数据行从第arg1行,第arg2列开始,复制第arg1行,第arg2列的数据。

C。若data[arg1,arg2,arg3.arg4]

表示要复制 第arg1行,第arg2列到第arg3行,第arg4列的数据。

此处的使用要注意:

若arg1比arg3小,则表示复制第arg3行到第arg1行的数据。

若arg2比arg4小,则表示复制第arg4列到第arg2列的数据。

其中arg2和arg4表示第几列,这个列的序号不要理解为在数据窗口中所看到的列的排列顺序。

而是在View-Column Specification 页面中看到的列的顺序号。

在两个数据窗口之间引用数据,可以直接这样来写

DWControl1.object.data=DWContolr2.object.data;//表示把DWControl2中的数据全部拷贝到DWCcontrol1中。

此时一般遵循:DWControl1中数据列的类型,个数,名称,顺序要与DWControl2中一致的原则,若不一致,会出现

意想不到的错误,这个嘛,你懂的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sybase 数据库 报表 c