PB的数据窗口操作

上传人:ji****72 文档编号:37522837 上传时间:2018-04-17 格式:DOC 页数:6 大小:42KB
返回 下载 相关 举报
PB的数据窗口操作_第1页
第1页 / 共6页
PB的数据窗口操作_第2页
第2页 / 共6页
PB的数据窗口操作_第3页
第3页 / 共6页
PB的数据窗口操作_第4页
第4页 / 共6页
PB的数据窗口操作_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《PB的数据窗口操作》由会员分享,可在线阅读,更多相关《PB的数据窗口操作(6页珍藏版)》请在金锄头文库上搜索。

1、SetTransObject语法:dwcontrol.SetTransObject ( transaction )功能:给数据窗口或者 datastore 控件 dwcontrol 设置事务对象 transaction,缺省事务对象是SQLCA。返回值:成功设置事务对象则返回 1,执行过程中发生了错误则返回-1,有任意参数为 Null 时返回Null。Retrieve语法:dwcontrol.Retrieve ( , argument, argument . . . )功能:使用数据窗口控件的当前事务对象检索数据库中的数据。如果数据窗口控件对应的数据窗口对象定义了检索参数,则应该在该函数中指定

2、检索参数,参数的个数和数据窗口对象的检索变量个数相等,对应的数据类型相兼容。返回值:返回数据窗口控件主缓存区(PrimaryBuffer)中的记录数,如果检索数据时发生错误则返回-1,如果任意参数为 Null 则返回 Null*该函数的参数和数据窗口对象定义的参数的顺序要相同,类型要兼容。个数不能少于数据窗口对象定义的参数,即可以等于和多于数据窗口对象定义的参数,多的参数忽略。DeleteRow语法:dwcontrol.DeleteRow ( row )功能:删除数据窗口 dwcontrol 中的第 row 行数据,如果 row 为 0 则表示删除当前行的数据。返回值:执行成功则返回 1,执行

3、错误则返回-1,如果任意参数为 Null 则返回 Null。*该函数执行后只是将被删除的数据从数据窗口的主缓存区移放到 Deleted 缓冲区,在数据库中并没有真正删除数据,当正确执行了 Update 函数并且使用 commit 语句提交了事务后,才真正从数据库中删除该数据InsertRow语法:dwcontrol.InsertRow ( row )功能:在数据窗口 dwcontrol 的第 row 行前插入一行空白数据。当指定 row 为 0 时,表示在当前行之前插入一行空白数据。返回值:返回插入的数据的行号,如果执行过程中发生错误则返回-1,如果任意参数为 Null 则返回 NullUpd

4、ate语法:dwcontrol.Update ( accept , resetflag )功能:提交数据窗口或者 datastore 中的数据。如果 accept 为 True,表示在提交数据之前自动执行AccpetText 函数,否则不执行该函数,该参数缺省为 True;如果 resetflag 为 True,表示数据提交后自动清除修改标识,该参数缺省为 True。返回值:执行成功则返回 1,发生错误则返回-1,如果 dwcontrol 为 Null 则返回 NullAcceptText语法:dwcontrol.AcceptText ( )功能:该函数执行时,首先对当前编辑框中的内容进行对应

5、字段的校验规则,能够通过校验规则,则保存在对应字段中,否则显示校验信息提示错误。需要执行该函数的原因是,当在某字段上的编辑框中输入内容而没有移动光标到别的字段上时,其他控件获得焦点,此时编辑框中的内容不能被保存到字段中,所以就应该在数据窗口失去焦点时执行该函数。返回值:执行成功则返回 1,执行过程中发生错误则返回-1,如果 dwcontrol 为 Null 则返回 Null。*该函数在数据窗口的 ItemChanged 事件中不起作用,因为项目改变是发生在接受编辑框中内容之后ModifiedCount语法:dwcontrol.ModifiedCount ( )功能:获取数据窗口或者 Datas

6、tore 中被修改过但还没有提交到数据库中的记录数。返回值:返回 long 类型的数据窗口控件中被修改过的记录数,如果没有记录被修改过或者修改后都已经保存到了数据库中则返回 0,执行过程中如果发生错误则返回-1,如果 dwcontrol 为 Null 则返回 Null。*该函数获得的修改过的记录数包括主缓存区和 Filter 缓存区的被修改过的和新添加到数据窗口中的记录数DeletedCount语法:dwcontrol.DeletedCount ( )功能:获取数据窗口控件或者 datastore 控件 dwcontrol 中被删除的记录数。返回值:返回 long 类型的已经被删除但还没有提交

7、到数据库中的记录数,如果执行过程中发生了错误则返回-1,如果 dwcontrol 为 Null 则返回 Null,如果没有删除过记录则返回 0RowsMove它可以将数据从一个缓冲区移动到另外缓冲区中。该函数的语法是:dwcontrol.RowsMove ( startrow, endrow, movebuffer, targetdw, beforerow, targetbuffer )其中,dwcontrol 是进行移动操作的源数据窗口;startrow 和 endrow 是要移动数据的范围(包括这两个行号的数据);movebuffer 指要从哪个缓存区移出数据,可以是Primary!、De

8、lete!、Filter!;targetdw 是目标数据窗口控件名称;beforerow 表示在目标数据窗口的哪一行之前插入移入的数据,如果该数值比目标数据窗口的行数大,则在最后插入移入的数据;targetbuffer 是目标缓存区,取值同 movebuffer 一样。GetItemStatus 和 SetItemStatus使用函数 dwcontrol.GetItemStatus ( row, column, Primary! )可以获取该缓冲区内指定单元的状态,当参数 column 为 0 时,表示读取整个行的修改状态。有以下状态。NotModified! :指定单元的数据和原始数据相同,

9、没有修改过。DataModified!:指定单元的数据和原始数据不同,修改过。New!:该数据行是新增加的,但还没有在该行上输入数据。NewModified!:该数据行是新增加的,并且已经在该行上录入了数据。这些修改标识都是由数据窗口自动维护的,一般情况下没有必要编写脚本修改这些标记,但并不是说就不能修改。PowerBuilder 提供了函数 SetItemStatus,它的语法是:dwcontrol.SetItemStatus ( row, column, dwbuffer, status )其中,row 参数指定将要修改状态的行;column 参数指定将要修改状态的列(可以是整型的列号,也

10、可以是 string 类型的列名),当列号为 0 时表示要修改 row 指定的整行的状态;dwbuffer 指定要修改哪个缓冲区(肯定不能是 original),status 为上面的四个取值中的一个,但不是任意的取值,因为有些状态不能用该函数设置成另外一种状态,必须是能够转换的状态。下面列出了能够转换的状态。期望的状态 New! NewModified! DataModified! NotModified!当前状态New! Yes Yes NoNewModified! No Yes NewDataModified! NewModified! Yes YesNotModified! Yes Y

11、es Yes 表中的 Yes 表示可以使用 SetItemStatus 进行该状态设置,No 表示不会产生预期的状态,如果标明了某个特定的状态,则说明是新的状态,而不是期望的状态。例如,数据窗口 dw_1 的第 1 行第 1 列的当前状态为 DataModified!,使用函数 dw_1.SetItemStatus(1,1,New!)后,第 1 行第 1 列的状态改变为 NewModified!。同样对于该数据窗口 dw_1,如果使用函数dw_1.SetItemStatus(1,1,NotModified!),则会将其状态改变为 NotModified!。当从一种状态不允许转变到另一种状态时,

12、可以修改成其他一个中间状态,然后再进行一次转换。例如,要从 new!改成NotModified,应该首先转换到 DataModified!GetItemX读取数据窗口中的数据dwcontrol.GetItemX( row, column , dwbuffer, originalvalue )其中的 X 可以替换成 Date、DateTime、Decimal、Number、String、Time,所以读取数据的函数有6 个。参数 row 表示要读取哪行的数据,是一个 long 类型数值。column 代表列,可以是 string 型的列名,也可以是整型的列号。dwbuffer 是 DWBuffe

13、r 枚举型,取值 Primary!、Delete!、Filter!分别代表主缓冲区、删除缓冲区和过滤缓冲区。originalvalue 为 Boolean 型,表示是否读取最近一次检索时检索到的初始值,当指定 dwbuffer 时必须指定该参数,该参数和 dwbuffer 都是可选的。函数正确执行则返回对应类型的数据,执行过程中发生错误则返回空值(“),任何参数为 Null 则返回 NullSetItem 和 SetText函数 SetItem 的语法格式是:dwcontrol.SetItem ( row, column, value )各个参数的含义如下。dwcontrol:数据窗口或 da

14、tastore 控件名称。row:要设置的数据所在行。column:要设置的数据所在的列。可以用整型列号,也可以用 string 型列名。value:要设置的值,应该和要设置的列的类型一致。函数正确执行则返回 1,这时数据窗口中 row 行 column 列显示的数据是刚刚用该函数设定的数据,如果函数执行过程中发生错误则返回-1。注意,该函数执行时仅仅检查函数中指定数据的类型和字段的类型是否一致,不会进行有效性校验,包括在数据窗口中设置的校验规则、在 ItemChanged 事件中编写的校验规则、在 ItemChanged 调用的校验规则都不会执行。函数 SetText 的语法格式是:inte

15、ger dwcontrol.SetText ( string text )功能是设置当前编辑框中的内容。注意,当编辑框离开当前单元时要进行有效性校验,如果校验数据正确,则当前字段接受该数据,否则触发 ItemError 事件。所以,可以使用该函数给带有校验规则的字段设置数据。EG:int li_idw_1.SetColumn(“name“) /使 name 列成为当前列For li_i = 1 To dw_1.RowCount()dw_1.SetRow(li_i) /使第 I 行成为当前行dw_1.SetText(“屁“) /向当前编辑框中写入内容Nextdw_1.SetColumn(“sex

16、“) /选中性别列,保证最后一个也要通过校验规则SetColumn、SetRow 和 GetColumn、GetRow 和 GetClickedColumn、GetClickedRow 和GetColumnName设置当前列integer dwcontrol.SetColumn ( string column)integer dwcontrol.SetColumn ( integer column)设置当前行integer dwcontrol.SetRow ( long row )得到当前列integer dwcontrol.GetColumn ( )得到当前行long dwcontrol.GetRow ( )得到用户单击的列integer dwcontrol.GetClickedColumn ( )得到用户单击的行long dwcontrol.GetClic

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号