pb数据窗口常用代码

合集下载

pb数据窗口,sum的用法

pb数据窗口,sum的用法

pb数据窗口,sum的用法
您提到的"pb 数据窗口" 和"sum 的用法" 可能涉及到不同的概念。

我将就两者分别进行简要说明:
1. Protobuf(Protocol Buffers)数据窗口:
- Protobuf 是一种轻量级的数据交换格式,由Google设计,用于结构化数据的序列化。

它通常用于在不同系统之间传递和存储数据。

Protobuf 使用`.proto` 文件定义数据结构,然后使用编译器生成与多种编程语言兼容的代码。

- "pb 数据窗口" 可能指的是使用Protobuf 序列化的数据的某个特定范围或窗口。

在这种情况下,您可能需要查看相应的`.proto` 文件,以了解数据结构的定义和如何在窗口内进行操作。

2. sum 函数的用法:
-sum 是一个常见的数学函数,用于计算一组数字的总和。

在编程语言和数据处理工具中,通常有内建的sum 函数,例如在Python、NumPy(用于科学计算的库)和SQL 等环境中。

例如,在Python中:
```python
numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print(total)
```
这将输出`15`,因为1+2+3+4+5 的和为15。

-如果您具体提到的"sum 的用法" 涉及到特定的上下文,例如在数据库查询中的SUM 操作,或者在某个编程框架中的使用方式,请提供更多上下文,以便我能够提供更具体的信息。

PB动态数据窗口

PB动态数据窗口

[PB]-动态数据窗口〓创建动态数据窗口若要动态创建数据窗口,需要使用函数Create,该函数的语法如下:dw_1.Create(syntax{,errorbuffer})其中,dw_1是数据窗口控件的名称,该数据窗口控件要和新创建的数据窗口对象相关联。

syntax是用来描述创建数据窗口对象的确切语法的字符串。

errorburrer是可选项,用来保存创建数据窗口对象过程中发生的错误信息。

如果不指定该参数,就会在发生错误时显示一个错误信息的提示窗口。

如果创建成功该函数返回1,否则返回-1,如果参数为null则函数返回null。

由于Create函数成功创建数据窗口对象后,要改变dw_1数据窗口控件所关联的数据窗口对象,因此,需要重新为数据窗口设置事务对象(使用函数SetTransObject或者SetTrans)。

获取创建数据窗口的语法有多种方法,可以对相关的SQL语句使用SyntaxFromSQL函数,也可以使用对已经创建好的数据窗口对象使用LibraryExport函数。

因为创建数据窗口的语法比较复杂,即使使用了LibraryExport输出已有数据窗口对象的语法,操作起来也相当费劲。

所以,更为通用的是前面一种方法。

这种方法配合一定的编程技巧,让用户指定要创建的数据窗口对象的SQL语句,使用户有更多的自由和选择。

使用这种方法,肯定用到函数SyntaxFromSQL,它的语法是:transaction.SyntaxFromSQL(SQLselect,presetation,err)其中,transaction是事务对象的名称,该事务对象必须正确地设置了相关参数,并且和数据库建立了联结。

SQLselect是用来创建数据窗口的SQL语句,为String 类型。

presentation是要创建的数据窗口对象的显示风格,为String类型。

简单的格式是:Style(Type=presentationstyle)其中Style和Type都是保留字,presentationstyle的取值有Tabular,Grid,Form,Graph,Group,Label和Nup,其中Tabular是缺省类型。

PB数据窗口常用函数方法

PB数据窗口常用函数方法

PB数据窗口常用函数方法1. Retrieve函数:用于从数据库中检索数据,可以通过设置检索条件过滤数据。

例如,dw_employee.Retrieve(将从数据库中检索出所有的员工数据。

2. Update函数:用于更新数据窗口中的数据到数据库中。

例如,dw_employee.Update(将更新数据窗口中的所有修改到数据库中。

3. Create功能:用于创建一个新的数据行。

例如,dw_employee.Create(将在数据窗口中新增一行空数据。

4. Modify功能:用于修改数据窗口中的数据。

例如,dw_employee.Modify(将允许用户进行修改操作。

5. InsertRow函数:用于在数据窗口中插入一行数据。

例如,dw_employee.InsertRow(1)将在第一行之前插入一行数据。

6. DeleteRow函数:用于删除数据窗口中的一行数据。

例如,dw_employee.DeleteRow(2)将删除第二行的数据。

7. SetItem函数:用于设置数据窗口中指定列的值。

例如,dw_employee.SetItem(1, "John")将设置第一列的值为"John"。

8. GetItem函数:用于获取数据窗口中指定列的值。

例如,string ls_name = dw_employee.GetItemString(1)将获取第一列的值并赋给ls_name变量。

9. GetRowCount函数:用于获取数据窗口中的行数。

例如,intli_rows = dw_employee.GetRowCount(将返回数据窗口中的行数。

10. GetColumnCount函数:用于获取数据窗口中的列数。

例如,int li_columns = dw_employee.GetColumnCount(将返回数据窗口中的列数。

11. GetRow函数:用于获取数据窗口中指定行的数据。

PB获取或操作数据窗口语句的方法

PB获取或操作数据窗口语句的方法

PB获取或操作数据窗口语句的方法
PB(PowerBuilder)是一种用于构建企业级应用程序的集成开发环境(IDE),其中包含了用于操作数据窗口的语句和方法。

以下是获取或操
作数据窗口的一些常用语句和方法:
1.获取数据窗口控件对象:
dw_control = dw_ancestor.Object.dw_controlname
这种方法可以通过数据窗口对象的祖先对象获取数据窗口控件的引用,从而进行后续的操作。

2.设置数据源:
dw_control.SetTransObject(SQLCA)
这个方法会将数据窗口的数据源设置为指定的事务对象(通常是SQLCA对象)。

3.检索数据:
dw_control.Retrieve
这个方法会执行数据窗口的检索功能,从数据源中获取数据并显示在
数据窗口中。

4.更新数据:
dw_control.Update
这个方法会将数据窗口中修改的数据更新到数据库中。

5.取消修改:
dw_control.Reset
这个方法会取消对数据窗口的所有修改,恢复到最后一次检索或更新的状态。

6.设置过滤条件:
dw_control.SetFilter(filter_expression)
这个方法可以设置数据窗口的过滤条件,只显示满足条件的记录。

7.查找记录:
dw_control.Find(filter_expression)
这个方法可以在数据窗口中查找满足条件的记录,并将其选中。

以上是一些常用的获取或操作数据窗口语句和方法,使用这些语句和方法可以方便地对数据窗口进行管理和控制。

PB数据窗口常用函数方法

PB数据窗口常用函数方法
dwcontrol.SetItemStatus ( row, column, dwbuffer, status )
其中,row参数指定将要修改状态的行;column参数指定将要修改状态的列(可以是整型的列号,也可以是string类型的列名),当列号为0时表示要修改row指定的整行的状态;dwbuffer指定要修改哪个缓冲区(肯定不能是original),status为上面的四个取值中的一个,但不是任意的取值,因为有些状态不能用该函数设置成另外一种状态,必须是能够转换的状态。下面列出了能够转换的状态。
integer dwcontrol.SetColumn ( string column)
integer dwcontrol.SetColumn ( integer column)
设置当前行
integer dwcontrol.SetRow ( long row )
得到当前列
integer dwcontrol.GetColumn ( )
返回值:执行成功则返回1,发生错误则返回-1,如果dwcontrol为Null则返回Null
★AcceptText
语法:dwcontrol.AcceptText ( )
功能:该函数执行时,首先对当前编辑框中的内容进行对应字段的校验规则,能够通过校验规则,则保存在对应字段中,否则显示校验信息提示错误。需要执行该函数的原因是,当在某字段上的编辑框中输入内容而没有移动光标到别的字段上时,其他控件获得焦点,此时编辑框中的内容不能被保存到字段中,所以就应该在数据窗口失去焦点时执行该函数。
Next
dw_1.SetColumn("sex") //选中性别列,保证最后一个也要通过校验规则

pb代码

pb代码
模拟二:
real m,n
m=real(sle_1.text)
n=real(sle_2.text)
sle_3.text=string(m+n)
real m,n
m=real(sle_1.text)
n=real(sle_2.text)
sle_3.text=string(m - n)
real m,n
m=real(sle_1.text)
n=real(sle_2.text)
sle_3.text=string(m*n)
real m,n
m=real(sle_1.text)
n=real(sle_2.text)
if integer(sle_2.text)=0 then
messagebox("出错","除数不能为零")
CASE is<n
sle_3.text="小于"
END CHOOSE
显示:
real m,n
m=real(sle_1.text)
n=real(sle_2.text)
CHOOSE CASE m
CASE is>n
messagebox("提示",sle_1.text+"大于"+sle_2.text)
else
sle_3.text=string(m/n)
end if
模拟三:
比较:
real m,n
m=real(sle_1.text)
n=real(sle_2.text)
CHOOSE CASE m

PB常用代码

PB常用代码
//
----------------------------------------------------------------------
数据压缩加密
//判断是否存在目录
nv_compression lnv_cmp
lnv_cmp = CREATE nv_compression
string ls_dir
//
//自定义事件: uo_enter 返回值: long event id: pbm_keydown
//
// keycode key
//
// unsignedlong keyflags
//
//////////////////////////////////////////////////////
ls_dir = gstr_option.path+'\prodcut_lsj'
if DirectoryExists (ls_dir) then
// messagebox('','请先删除原来的存放数据的"txt"目录!')
// return
else
if createdirectory(ls_dir) = -1 then
if keydown(keyenter!) then
MESSAGEBOX('你按了回车键','你按了回车键')
keybd_event(9,0,0,0) //api
keybd_event(9,0,2,0)
Return 1
end if
dw_2.SetColumn('thp10')

pb数据窗口及事件

pb数据窗口及事件

Pb数据窗口1.Pb数据窗口介绍(结合实例进行讲解):数据窗口控件数据窗口对象数据窗口对象分为:常用的数据窗口类型:Composite 复合报表数据窗口Crosstab 交叉报表数据窗口Freeform 自由模式数据窗口Graph 图形报表数据窗口Grid 网格数据窗口Group 分组数据窗口n-up 多列显示数据窗口分别举例说明各个数据窗口:杏林妙手中的体检报告中保护上述数据窗口类型。

2.数据窗口数据源类型介绍:Quick select、sql select 、query、external、stored procedure 分别为:通过单表查询,通过多表查询,通过查询对象,通过自定义的字段,通过存储过程。

3.数据窗口控件常用函数介绍:Setredraw(boolean) :设置是否自动刷新报表,true 自动刷新,false不自动刷新。

Describe(string):获取数据窗口指定对象的属性,string为数据窗口表达式例如:“t_1.text“等Modify(string):设置数据窗口指定对象的属性,和describe配合使用,string为数据窗口表达式例如“t_1.text=’123’“描述查找相关设置的方法。

Getitemstring(int,string)、Getitemstring(int,int)Setitem (int,string,string)、Setitemstring(int,int,string)获取数据窗口指定行的字符串列的值,参数:行号,列名(或列值)设置数据窗口指定行的字符串列的值,参数:行号,列名(或列值),设置值(还有获取其他数据类型的类似函数不做赘述!,还可以通过object.列名[行号] 来获取和设置指定行列的值)Deleterow(int)删除行指定行的操作,和循环配合使用的注意事项。

Insertrow(0)插入行,参数0表示在最后一行插入Rowcount()当前数据窗口的行数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、连接数据库连接数据库也就是指定事务对象。

PowerBuilder提供了两个函数:SetTrans()和SetTransObject()。

语法格式:dw_control.SetTrans(TransactionObject)dw_control.SetTransObject(TransactionObject)其中,dw_control是所使用的数据窗口控件,transactionObject是所要指定的事务对象。

这两个函数有一个重要的区别就是在使用SetTrans()函数时,用户不需做任何数据初始化或事务对象初始化工作。

用户只需要在这里填充一个事务对象,PB 就会自动完成对该事物对象的初始化以及和数据库连接的工作。

而使用SetTransObject()函数时,用户必须首先把所用的事务对象连接到数据库上。

但是,这并不意味着SetTrans()函数比SetTransObject()函数更好,使用SetTrans()函数时,每调用一次函数必须连接一次数据库,因为这个函数在每个事务处理的末端都会执行Disconnect语句。

与此相反,使用SetTransObject()函数可以为数据库维持一个开放性的连接。

因此在一般情况下,为了提高效率,总是采用SetTransObject()函数。

这两个函数都是成功时返回1,发生错误时返回-1。

二、检索数据用于检索数据的函数只有一个,就是Retrieve()函数。

语法格式:dw_control.Retrieve()如果数据窗口控件上的数据窗口对象是有检索参数的,就要在这个函数调用时加上检索参数。

而且检索参数必须和数据窗口对象中定义顺序一致。

此函数返回一个长整型的数据,代表检索出来的数据行数。

如果发生错误,将返回-1。

三、更新数据当用户对数据窗口对象内的数据修改后,想把这些修改反映到数据库中去时,必须使用Update()函数。

语法格式:dw_control.Update()这个更新可能成功,也可能失败。

一般在这个函数被调用之后,总是要做一个检查。

请看下面的例子:Int li_returnli_return = dw_1.Update()IF li_return = 1 THENCOMMIT USING SQLCA;ELSEROLLBACK USING SQLCA;END IF在这段代码中,首先对数据窗口控件进行更新操作。

但是更新只是把数据写入到客户机的内存,并没有提交到数据库中。

如果更新成功,就把它提交到数据库中,如果更新失败,就回滚到当前的事务。

行操作行操作的函数主要是对数据库中的数据进行插入、删除或选择操作。

一、插入行在DataWindow中插入一行,可以使用InsertRow()函数。

语法格式:dw_control.InsertRow(rownumber)dw_control是数据窗口控件名,rownumber是要插入行的的行号。

如果这个参数为0,代表在当前DataWindow的最后一行插入一空行。

InsertRow()函数返回一个长整型值,以此来代表插入的行号。

如果插入失败,则返回-1。

二、删除行要删除DataWindow内的一行数据,则要使用DeleteRow()函数。

语法格式:dw_control.DeleteRow(rownumber)其中rownumber是要删除的行号。

如果该值为0,表示删除当前行。

如果删除成功,返回1,失败则返回-1。

三、设置当前行如果要设置DataWindow中的某行为当前行,可以使用SetRow()函数。

语法格式:dw_control.SetRow(rownumber)其中rownumber是要设置为当前行的行号。

如果函数返回1表示成功,返回-1代表失败。

四、获取当前行如果想要获取DataWindow中的某行为当前行,可以使用GetRow()函数。

语法格式:dw_control.GetRow()该函数没有参数,它返回一个长整型,代表当前行号。

如果返回-1代表失败。

如果返回0代表没有选中任何行。

五、选择行如果想要在DataWindow中加亮显示某一行或取消加亮显示某一行,可以使用SelectRow()函数。

语法格式:dw_control.SelectRow(rownumber,select)其中,rownumber表示要加亮或者取消加这显示的行号,0表示所有行。

select 是一个布尔类型的值,TRUE表示加亮,FALSE表示取消加亮显示。

该函数返回1时表示成功,返回-1时表示失败。

如果想要直接设置某一行为加亮,需要首先取消其它行的加亮显示状态,采用如下的两行代码:dw_1.SelectRow(0,FALSE)dw_1.SelectRow(rownumber,TRUE)六、获取选择行如果想要获取当前DataWindow中加亮显示的行,可以使用GetSelectRow()函数。

语法格式:dw_control.GetSelectRow(rownumber)其中,rownumber为开始查找的行的行号,0表示从头开始查找。

该函数返回一个长整数,表示从rownumber开始查找第一个加亮显示的行的行号。

如果失败返回0。

七、滚动行如果在DataWindow的末尾插入一行数据,而当前行是在DataWindow的中央,那么这种插入可能不会被用户觉察。

为了改变这种情况,可以滚动行到DataWindow的末尾,这样用户就能发现新的改变。

要滚动行,可以使用ScrollToRow()函数。

语法格式:dw_control.ScrollToRow(rownumber)该函数返回1时表示成功,返回-1时表示失败。

与ScrollToRow()函数据功能相关的还有如下几个函数:ScrollPriorRow():向上滚动一行ScrollNextRow():向下滚动一行列操作列操作类的函数主要是选择指定的列和获取列的信息。

一、获取列如果要获取当前的列号,可以使用GetColumn()函数,如果要获取当前的列名,可以使用GetColumnName()函数。

语法格式:dw_control.GetColumn()dw_control.GetColumnName()这两个函数都没有参数,GetColumn()函数返回一个长整型值,代表当前的列号,GetColumnName()函数返回当前列的列名。

如果返回0,表示当前没有任何列被选择返回-1表示失败。

二、设置列要设置某一列为DataWindow中的当前列,可以使用SetColumn()函数。

语法格式:dw_control.SetColumn(column)其中column既可以是列号,也可以是列名。

当该函数返回1时表示成功,返回-1时表示失败。

数据操作数据操作类的函数主要是对DataWindow中的数据进行获取、设置。

一、获取数据如果要从DataWindow的指定行和列中获取数据,就要使用GetItem系列的函数。

这个系列的函数共有五个,分别是对字符串、数字、日期、日期时间和小数。

语法格式:dw_control.GetItemString(rownumber,column)dw_control.GetItemNumber(rownumber,column)dw_control.GetItemDate(rownumber,column)dw_control.GetItemDateTime(rownumber,column)dw_control.GetItemDecimal(rownumber,column)其中,rownumber参数表示行号,column可以是列号或列名。

二、设置数据与获取数据所用的函数不同,设置DataWindow内指定行列处的数据只要使用一个SetItem()函数就可以了。

语法格式:dw_control.SetItem(rownumber, column, value)其中rownumber表示行号,column可以是列号,也可以是列名,value表示要设置的值。

但是该必须与DataWindow中指定的行列处的数据类型一致,不然PowerBuilder会报错。

SetItem()函数返回1时表示成功,返回-1时表示失败。

三、数据排序如果希望对DataWindow内的数据进行重新排序,而又不想重新从数据库中检索数据,可以使用SetSort()和Sort()函数。

这两个函数一起完成对DataWindow 进行排序的功能。

其中SetSort()函数用于设置如何排序,Sort()函数用于对DataWindow实际进行排序。

语法格式:dw_control.SetSort(expression)dw_control.Sort()其中expression是一个字符串,表示排序的表达式,它的具体值是一个列名后面加一个空格,然后是"A",表示升序,或"D",表示降序。

如果有多个列要同时进行排序,它们之间用逗号隔开。

例:dw_1.SetSort("name A,xh D")这两个函数都是返回1表示成功,返回-1表示失败。

四、数据过滤如果希望对DataWindow内的数据进行过滤而不重新从数据库中检索数据,可以使用SetFilter()和Filter()函数。

它们一起完成对数据的过滤功能。

其中SetFilter()函数用来设置过滤条件,Filter()函数用于对DataWindow进行过滤。

语法格式:dw_control.SetFiter(expression)dw_control.Fiter()其中expression是一个字符串,表示过滤的条件,它实际是一个逻辑表达式。

例:dw_1.SetFilter("id>\'003\' AND name like\'王%\'")dw_1.Filter()这两个函数都是返回1表示成功,返回-1表示失败。

五、数据检查PowerBuilder提供了两个函数用于数据的检查,它们是DeleteCount()和ModifiedCount(),其作用分别是检查DataWindow中的数据自上一次更新到现在,被删除的行数和被修改的行数。

它们一般在窗口的CloseQuery事件中使用,用来检查该窗口的DataWindow中的数据是否有尚未保存的修改。

语法格式:dw_control.DeleteCount()dw.control.ModifiedCount()它们分别返回从上一次更新到现在,DataWindow中被删除和被修改的行数。

如果没有行被删除或被修改,那么它们返回0。

如果出现错误则返回-1。

一般情况下,如果窗口中含有可供修改的数据窗口对象,那么在窗口的CloseQuery事件中通常使用如下代码检查数据窗口对象中是否有尚未保存的数据:Int li_returnIF dw_1.ModifiedCount() > 0 OR dw_1.DeletedCount() >0 THENli_return = MessageBox("提示","数据尚未保存,是否保存?",Question!,YesNoCancel!,3)CHOOSE CASE li_returnCASE 1TriggerEvent(\'ue_save\')RETURN 0CASE 2RETURN 0CASE 3RETURN 1END CHOOSEEND IF。

相关文档
最新文档