PB教程第九章 数据窗口与数据库

合集下载

PowerBuilder第9讲 数据窗口应用

PowerBuilder第9讲 数据窗口应用




2、建立共享函数 格式: Integer dw_primary.ShareData(dw_secondary) 参数:①dw_primary:主数据窗口的数据窗口控件名。 ②dw_secondary:从数据窗口的数据窗口控件名。 返回值:函数执行成功时返回1,发生错误时函数返回-1。 如果任何参数的值为NULL,则ShareData()函数返回 NULL。 功能:从数据窗口共享主数据窗口中的数据。 说明:
演示一个主从关系数据窗口的实现
添加dw_1和dw_2, 分别连接d_sellerp和d_sellers; 在open事件中添加以下代码 dw_1.setTransObject(SQLCA) dw_2.setTransObject(SQLCA) dw_1.retrieve() dw_2.retrieve() dw_1.setRowFocusIndicator(hand!)


添加删除按钮,其代码如下: long rsm, row row = dw_2.GetRow() rsm = dw_2.RowCount() if row>0 and row<=rsm then dw_2.DeleteRow(row) end if



数据存储用毕之后,需要使用Destroy语 句删除该对象, 例如:DESTROY ids_stock

9.2 主从数据窗口



使用数据窗口技术操作数据库表中数据的常 用方法 回顾几种检索、修改表中数据的方法 数据库信息管理系统中一个很重要的工作就 是检索、修改数据,为了实现这些功能,我 们曾经学习过以下一些方法。
数据存储通常使用在下述四个方面:

PB数据窗口教程

PB数据窗口教程

PB数据窗口教程数据窗口是PowerBuilder中最常用的控件之一、它用于显示数据库查询结果,并提供了对此结果进行浏览、修改和删除等操作的功能。

本教程将为您介绍如何在PowerBuilder中使用数据窗口控件。

第一步是创建一个数据窗口。

在PowerBuilder的“对象”菜单下,选择“新建”>“数据窗口”。

在弹出的对话框中,选择所需的数据源和表格,并点击“确定”按钮。

此时,将会出现一个空白的数据窗口设计器。

接下来,将需要显示在数据窗口中的列添加到数据窗口中。

您可以通过拖拽数据库字段或手动添加列的方式进行操作。

在设计器的左侧,您将看到一个“对象树”面板,在这里选择数据窗口对象,并右键单击以添加列。

完成列的设置后,您可以在设计器的页面中放置其他控件,以增强用户界面。

一些常用的控件包括文本框、复选框、下拉列表框等。

您可以通过拖拽控件到数据窗口设计器的页面中进行操作,并根据需要设置其属性。

下一步是设置数据窗口的数据源。

在数据窗口设计器的菜单栏中,选择“数据”>“设置数据源”选项。

在弹出的对话框中,选择所需的数据源和表格,并点击“确定”按钮。

此时,数据窗口将会显示数据源中的数据。

现在,您可以运行应用程序,并查看输出窗口中的结果。

您可以通过点击数据窗口中的列标题对数据进行排序,通过点击数据行进行选择,并通过单击“查阅”按钮在查询结果中进行导航。

如果需要,您还可以在数据窗口中进行增加、修改和删除操作。

通过本教程,您应该已经了解了如何在PowerBuilder中创建和使用数据窗口控件。

数据窗口是PowerBuilder开发中非常重要的一部分,掌握了数据窗口的使用方法,可以提升开发效率,并为用户提供更好的用户界面和交互体验。

希望本教程能对您有所帮助!。

pb中数据窗口的应用

pb中数据窗口的应用

Pb中数据窗口的应用在通常的Server/Client方式MIS开发中,总是有没完没了的报表需要制作,调试报表花费的时间也是最多而且乏味,还常常不能满足客户的要求。

要是能够让用户自己调整报表的格式和内容,然后将它保存下来,程序下次启动时它自动调用保存了的报表格式那有多好。

本人通过如下方法最终实现了用的要求。

PB(PowerBuilder)有一种以PSR结尾的特殊的保存报表的文件格式(本文简称作PSR文件)。

根据数据窗口可以直接读取PSR文件生成报表的原理,程序通过生成PSR文件,实现动态报表格式的保存。

一、实现原理:PB中的报表其实就相当于是数据窗口。

第一步,动态报表的实现。

通过设置数据窗口对象(dataobject)中文本、列等的Resizeable 和moveable属性为1来实现对象位置的拖动控制,通过数据窗口的Modify函数实现对象值的更改(包括增加和删除)。

第二步,报表格式的保存。

在一个应用当中,数据窗口对象的名称总是唯一的,将每一个数据窗口对象转化成PSR文件存于数据库表中。

在窗口打开时,程序先校验报表格式是否存在。

如果存在,先将报表格式读取出来放在一个临时文件当中,然后设置数据窗口(datawindow)的数据对象(dataobject)为这个报表文件,然后提取数据;如果不存在,直接提取数据即可。

二、实现过程:1、建立一个数据库表用以保存报表格式文件。

表名:dyn_reportDwobjectVarchar2(20)数据窗口对象名称Primary keyRptitleVarchar2(80)报表的标题名称MemoLong raw 报表格式2、建立一个窗口w_temp。

定义实例变量如下:string is_dwtype,is_dwobject //保存报表中对象的类型及名称控件名称控件含义Dw_print数据窗口对象Cb_exit退出按钮Cb_savereport 报表格式保存按钮3、在窗口的OPEN事件中加入如下代码, 校验报表格式是否存在,如果存在读取定义好的报表格式到数据窗口。

PB的数据窗口操作

PB的数据窗口操作

PB的数据窗口操作PB(PowerBuilder)是一种基于面向对象的集成开发环境(IDE),主要用于构建企业级应用程序。

在PB中,数据窗口是一项非常重要的功能,可以用于对数据的处理、展示和修改。

下面将从数据窗口的基本操作、高级特性和数据窗口设计原则等方面,详细介绍PB的数据窗口操作。

一、数据窗口的基本操作1. 创建数据窗口:在PB中,可以通过向导或手动创建数据窗口。

创建数据窗口是通过选择数据源(数据库表、视图或存储过程)、选择数据窗口类型(Grid、Tabular等)和设置窗口布局等步骤完成的。

2.数据绑定:在数据窗口中,可以通过数据绑定将数据源与数据窗口中的控件关联起来。

通过设置数据绑定属性,可以实现数据的读取、展示和修改等功能。

3.数据检索:使用数据窗口可以方便地进行数据检索。

通过设置查询条件、排序方式和数据过滤等属性,可以按照需求从数据库中检索数据,并在数据窗口中显示出来。

4.数据更新:除了展示数据,数据窗口还可以用于数据的更新。

通过设置数据窗口的更新属性,可以实现数据的插入、修改和删除等操作。

同时,PB还提供了事务管理和数据验证等功能,确保数据的完整性和一致性。

5.数据导航:在数据窗口中,可以轻松地实现数据的导航功能。

通过设置数据窗口的导航属性,可以方便地浏览数据,并进行上一条、下一条、第一页和最后一页等操作。

6.数据格式化:PB提供了丰富的数据格式化选项,可以对数据窗口中的数据进行格式化和显示。

例如,可以设置日期格式、货币格式和数值格式等,以便更好地展示和分析数据。

二、数据窗口的高级特性1.动态数据窗口:PB允许动态创建和操作数据窗口。

通过使用动态数据窗口,可以在运行时动态改变数据窗口的结构和属性。

这对于动态查询和灵活的数据展示非常有用。

2.嵌套数据窗口:PB支持嵌套数据窗口的使用。

通过将一个数据窗口嵌套在另一个数据窗口内部,可以实现复杂的数据关联和显示。

例如,可以在父数据窗口中显示子数据窗口的数据。

PB的数据窗口操作

PB的数据窗口操作

Composite 复合报表型的.就是可以由几个DW组合成的Crosstab 交叉报表型. 这个很少用.Freeform 自由风格,就是里面的列可以自已改变的. 常用Graph 统计图,你知道的Grid 网格,类似EXCEL的最常用Group 分组的.有分组小计要用的那种常用Label 标签的就是一个大格子一个大格子排列显示的那种N-Up 分栏显示的.这个少用.Tabular 列表的,这个列表不是太好用.这个也少用★SetTransObject语法:dwcontrol.SetTransObject ( transaction )功能:给数据窗口或者datastore控件dwcontrol设置事务对象transaction,缺省事务对象是SQLCA。

返回值:成功设置事务对象则返回1,执行过程中发生了错误则返回-1,有任意参数为Null时返回Null。

★Retrieve语法:dwcontrol.Retrieve ( {, argument, argument . . . } )功能:使用数据窗口控件的当前事务对象检索数据库中的数据。

如果数据窗口控件对应的数据窗口对象定义了检索参数,则应该在该函数中指定检索参数,参数的个数和数据窗口对象的检索变量个数相等,对应的数据类型相兼容。

返回值:返回数据窗口控件主缓存区(PrimaryBuffer)中的记录数,如果检索数据时发生错误则返回-1,如果任意参数为Null则返回Null*该函数的参数和数据窗口对象定义的参数的顺序要相同,类型要兼容。

个数不能少于数据窗口对象定义的参数,即可以等于和多于数据窗口对象定义的参数,多的参数忽略。

★DeleteRow语法:dwcontrol.DeleteRow ( row )功能:删除数据窗口dwcontrol中的第row行数据,如果row为0则表示删除当前行的数据。

返回值:执行成功则返回1,执行错误则返回-1,如果任意参数为Null则返回Null。

PB数据窗口教程

PB数据窗口教程

PB数据窗口教程PowerBuilder是一种流行的集成开发环境,用于快速构建企业级应用程序。

在PowerBuilder中,数据窗口是其中最重要的部分之一、数据窗口提供了一个可视化的界面,用于显示和操作数据库中的数据。

本教程将详细介绍PowerBuilder数据窗口的使用方法。

一、什么是数据窗口数据窗口是PowerBuilder的核心组件之一、它提供了一种直观的方式来显示数据库中的数据,并允许用户进行增删改查等操作。

数据窗口可以与各种类型的数据库进行交互,包括关系型数据库(如Oracle、SQL Server等)和非关系型数据库(如NoSQL数据库等)。

数据窗口具有以下特点:1.可以显示单行或多行数据2.可以进行数据排序和过滤4.可以处理数据库事务5.可以显示图表、嵌入其他控件等二、数据窗口的基本操作要创建一个数据窗口,首先需要打开PowerBuilder开发环境并创建一个新的PowerBuilder项目。

然后,右键单击项目资源树中的“数据窗口”节点,并选择“新建数据窗口”。

在数据窗口设计器中,可以通过添加列、设置数据源、定义布局等来定义数据窗口的外观和功能。

可以使用“数据窗口”菜单上的各种选项来完成这些操作。

接下来,可以将数据窗口添加到应用程序的窗口中。

在窗口设计器中,可以从工具箱中拖动数据窗口控件到窗口中,并调整位置和大小。

三、使用数据窗口实现增删改查操作PowerBuilder的数据窗口提供了一套强大的功能来实现数据的增删改查操作。

下面是一些常用的操作方法:1.查询数据:在数据窗口设计器中,可以设置数据窗口的数据源,包括选择数据库表、指定查询条件等。

在运行时,数据窗口将自动执行查询操作,并将结果显示在界面上。

2.添加数据:可以使用数据窗口的插入按钮或右键菜单来添加新的数据行。

在添加数据时,可以直接在数据窗口中输入数据,或者通过调用数据窗口的弹出窗口来输入数据。

4.删除数据:可以使用数据窗口的删除按钮或右键菜单来删除选中的数据行。

PB数据窗口教程

PB数据窗口教程

Powerbuilder创建数据窗口规范与注意事项导言:数据窗口是powerbuilder中一个最重要的控件,且是powerbuilder独有的一个控件,他存在于用户与数据库之间,能够方便的帮助用户进行sql语句对数据库进行操作,使开发人员能够节约大量时间与精力,然而相对数据窗口的强大,powerbuilder软件本身就显得略有不足,相对其他开发软件而言会有更多的bug。

下面就数据窗口的创建与标准布局做一些讲解。

1.新建数据窗口时常见的处理流程a)新建数据窗口1)选择表和要编辑、要显示的字段。

2)设置检索参数3)设置where条件b)显示处理(不分先后)1)去掉无需编辑、无需显示的,但要存储、处理数据的字段2)调整Header、Detail区域字体大小3)设置显示格式format掩码1.直接掩码写死2.根据条件设置掩码c)输入控制1)设置字段是否可以编辑1.去掉无需编辑、需要显示的字段的焦点2.根据条件设置字段是否可以编辑2)设置字段的编辑风格1.edit标签页下style typea)editb)editmaskc)radiobuttonsd)checkboxe)dropdowndwf)dropdownlistbox3)设置字段掩码(如果无显示掩码,则以编辑掩码显示)1.数值(“0.00”、“###0.00”)2.日期(“yyyy-mm-dd”、“yyyy-mm-dd hh:mm:ss”)d)设置数据窗口的更新属性一、创建powerbuilder数据窗口时的注意事项1.简化数据窗口输出列在powerbuilder中,数据传输的流量问题是值得注意的一个问题,每一个数据从数据库到数据窗口都是需要流量作为代价的。

因此,在创建数据库的时候,能够尽可能的少引入列是一个应当遵守的原则。

理论上,能够不读取的字段就不要将其加入数据窗口中,以减少网络传输。

2.列visible属性设为false后改回自动移动到最后的处理方法。

PB动态创建数据窗口

PB动态创建数据窗口

PB动态创建数据窗口动态创建数据窗口在实际应用中,经常需要根据用户需求来动态创建数据窗,一般方法是这样的。

在一个window中加入一个数据窗控件,如dw_new,但是该数据窗没有dataobject,(空白的)就可以用以下语法来创建:dw_new.create(ls_syntax,ls_error)//创建语法,错误信息ls_syntax可以用以下三种方法来形成:一、动态由sql语法创建://连接到pb的example数据库stringls_sql,ls_syntax,ls_errorls_syntax=''selectfromdepartment''ls_syntax=sqlca.SyntaxFromSQL(ls_sql,''style(type=grid)'',ls_ error)iflen(ls_error)>0thenmessagebox(''Error'',''SyntaxFromSQLError:~r''+ls_error) elsedw_new.create(ls_syntax,ls_error)iflen(ls_error)>0thenMessageBox("Error","Createhavetheseerrors:~r"+ls_error) elsedw_new.settransobject(sqlca)dw_new.retrieve()endifendif二、由另一个数据窗的syntax来创建stringls_syntax,ls_errorls_syntax=dw_test.describe(''datawindow.syntax'')dw_new.create(ls_syntax,ls_error)ifls_error''''thenmessagebox(''CreateError'',ls_error)elsedw_new.settransobject(sqlca)dw_new.retrieve()endif三、读取psr文件来创建stringls_syntax,ls_error,ls_retls_ret=char(13)+char(10)//回车键intli_fileNumlongli_lengthli_FileNum=FileOpen("efef.psr",Streammode!,read!,shared!,R eplace!)ifli_filenum>0thenFileSeek(li_FileNum,158,FromBeginning!)li_length=fileRead(li_filenum,ls_syntax)endiffileclose(li_filenum)ifli_length=0thenreturnls_syntax="release5;"+ls_ret+ls_syntax//截掉ls_syntax中的数据部分, 5.0以"sparse(names="dept_name?)"作为参考位置//6.0以html(作为参考位置longpos1,pos2pos1=pos(ls_syntax,''sparse(names="'',1)pos2=pos(ls_syntax,''"'',pos1+16)ls_syntax=left(ls_syntax,pos1)+mid(ls_syntax,pos1+1,pos2-pos1+1)dw_New.create(ls_syntax,ls_error)ifls_error''''thenmessagebox(''CreateError'',ls_error)elsedw_new.settransobject(sqlca)dw_new.retrieve()endif//pb6,pb7的代码可以参照pb5自己写,只是文件头和数据窗结束标记不同而已。

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

9.1 简介在前面的内容当中,我们介绍了有关数据窗口的基本概念、功能和方法,下面我们将把使用数据窗口的一些高级技术介绍给大家。

这一章不需读者自己动手,因为需要用到很多的数据表格,这里没法都提供给读者,所以这一章只需要读者看明白就可以了,对于SCRIPT 中的语句,要是看不懂可以跳过,会在后面的章节中进行进一步的解答。

9.2 数据窗口与数据库9.2.1 事务对象我们知道事务对象在POWER BUILDER 当中占有非常重要的地位,POWER BUILDER的应用程序必须通过事务对象来实现与各种数据库的连接,所以在讨论数据窗口和数据库的关系之前,我们首先来介绍有关事物对象的基本内容。

在POWER BUILDER当中,要想对一个数据库进行操作,首先必须建立与这个数据库的连接。

在一个POWER BUILDER数据库连接中,事务对象是一个特殊的不可视的对象,其功能就是为POWER BUILDER程序与数据库之间的通信提供一个通信区。

事务对象当中定义了POWER BUI LDER用来与数据库进行连接的参数。

在访问数据库之前,必须先建立一个事务对象,然后给这个事务对象的属性赋以合适的值,才能通过这个事务对象与数据库连接,完成所需的数据库操作。

当一个应用程序开始运行时,POWER BUILDER 会自动创建一个名为SQLCA的默认全局事务对象。

SQLCA是“SQL COMMUNICATIONS AREA”SQL通信区的缩写。

可以在应用程序中使用这个默认的事务对象,也可以定义自己的事务对象。

POWER BUILDER提供了四条用来进行事务管理的语句CONNECT:成功的CONNECT语句标志着一个事务的开始。

在执行CONNECT语句之前,必须对一个已经存在的事务对象的用以连接DBMS的属性赋以合适的值。

DISCONNECT:这个语句标志着中止一个事务。

COMMIT:执行COMMIT将提交自该事务开始之后当前事务对数据库已做的所有尚未提交的更新操作。

并开始一个新的事务。

ROLLBACK:执行ROLLBACK语句之后,当前事务已做的所有更新操作都将被撤消,并开始一个新的事务。

9.2.2 使用事务对象有两种方法可以为一个数据窗口设置事务对象。

使用SETTRANS函数:SETTRANS函数将一个特定的事务对象拷贝到数据窗口控件的内部事务对象当中。

在程序使用该函数的时候,数据窗口控件使用自己内部的事务对象并且根据需要自动执行连接与断开连接的操作,如果出现错误,则自动撤消已做的所有更新操作,恢复到事务开始时的状态。

当数据窗口要访问数据库的时候,如果执行一个RETRIEVE命令或者UPDATE命令,数据窗口就会发出一个内部CONNECT命令,处理相应的数据访问。

数据处理结束后,还会发出一个内部的DISCONNECT命令,断开与数据库的连接。

所以如果在程序中使用SETTRANS函数,不需要另外书写CONNECT和DISCONNECT命令。

从上面的内容当中,我们可以看出SETTRANS语句的缺陷,那就是,在每次进行数据库访问的时候,都要与数据库建立新的连接,而这种连接会占用相当部分的系统资源。

而且在进行数据库访问的时候,用户不能对这个访问过程进行控制。

如果使用SETTRANS语句,当数据库连接的数目增大的时候,程序的效率就要受到影响了。

使用SETTRANSOBJECT命令:使用这条命令可以为一个数据窗口指定一个事务对象。

我们应该按照下面的顺序编写脚本来进行数据库的访问。

CONNECTSETTRANSOBJECTRETRIEVE或UPDATECOMMIT或ROLLBACKDISCONNECT这里我们看到了两条新的指令:RETRIEVE和UPDATERETRIEVE指令的功能是在使用SETTRANSOBJECT语句把一个数据窗口和一个事务处理对象连接起来之后,把数据库中的内容检索到数据窗口当中去。

它的调用格式是DATAWINDOW.RETR IEVE()如果要访问的数据源是使用SQLSELECT语句产生的,那么在调用RETRIEVE函数的时候必须给出参数值,调用格式如下:DATAWINDOW.RETRIEVE(ARG1,ARG2,RETRIEVE函数中的参数次序要与数据窗口对象中定义的SQL SELECT参数的次序保持一致。

POWER BUILDER允许RE TRIEVE函数带有多于数据窗口对象在SQL SELECT中定义的原有参数数目的参数,多余的参数将被忽略。

利用这个特点,可以设计出能够操作不同数据窗口对象的通用检索。

UPDATE指令的功能是在对数据窗口中的数据进行修改之后,需要使用UPDATE函数将所做的修改写回到数据库中去。

9.3 动态数据窗口9.3.1 简介从前面的内容当中,我们知道一个窗口上的数据窗口控件,必须和一个真正的数据窗口对象配合起来才能进行工作。

数据窗口对象和数据窗口对象所包含的所有的实体(如文本、图形)都有自己的属性。

在程序运行的时候,我们可以通过获取、修改这些属性的方法来对数据窗口对象及其所属实体进行动态的控制,甚至能够动态地建立一个新的数据窗口对象。

下面,我们就来介绍动态的操纵数据窗口对象的方法。

9.3.2 动态创建数据窗口创建数据窗口有两种方法。

一种是在POWER BUILDER 的数据画板中建立,另一种就是在程序运行的过程中通过执行一段脚本来动态地建立数据窗口。

下面我们来介绍这种动态创建的方法。

首先打开一个窗口画板。

我们看到该窗口上面有一个数据窗口控件(图9-1)。

图9-1在该数据窗口上面单击鼠标右键,弹出菜单,选择PROPERTIES 属性命令。

弹出这个数据窗口控件的属性对话框(图9-2)。

图9-2我们可以看到DATA WINDOWS OBJECT NAME 一项的内容为空,这说明DW_1这个数据窗口控件的所连接的数据窗口对象为空。

关掉这个对话框。

单击POWER BAR 上面的 RUN WINDOW 按钮,运行这个程序,我们看到该数据窗口上面并没有任何的显示(图9-3)。

图9-2关闭这个程序,回到POWER BUILDER 的窗口工作区。

在窗口上面单击鼠标右键,弹出菜单。

在菜单上选择SCRIPT命令,为该窗口的打开事件编写程序。

输入这样一段脚本:STRING SYNTAX,SQLSTR,ERRMSGSQLSTR = "SELECT ,SOCCER.AGE,SOCCER.CLUB,SOCCER.NATION"&+" FROM SOCCER"CONNECT USING SQLCA;SYNTAX = SQLCA.SYNTAXFROMSQL(SQLSTR,"STYLE(TYPE=GRID)", ERRMSG)dw_1.CREATE(SYNTAX, ERRMSG)这段程序的意思是把SPSTAR 这个表中的关于足球明星的内容显示在DW_1 这个数据窗口控件上面。

关闭窗口画板工作区。

单击POWER BAR上的运行按钮,执行这个程序。

我们看到数据窗口中显示了我们需要的信息(图9-4)。

图9-49.3.3 动态更新数据窗口数据窗口中的内容可以根据用户的需要动态的修改。

下面,就给您一个例子。

我们在窗口上布置一个新的按钮——“更改”。

在新的按钮上面单击鼠标右键,弹出菜单。

在菜单上选择PROPERTIES 命令,弹出这个按钮的属性定义对话框。

将按钮上面的文本设置为“更改”,单击OK按钮,确认修改。

如图9-5。

图9-5在按钮上面再次单击鼠标右键,弹出菜单,在菜单上面选择SCRIPT命令,开始为这个按钮的CLICKED单击事件编写脚本。

我们输入这样一段脚本。

STRING SYNTAX,SQLSTR,ERRMSGSQLSTR = "SELECT ,TENNIS.AGE,TENNIS.CLUB,TENNIS.NATION"&+" FROM TENNIS"CONNECT USING SQLCA;SYNTAX = SQLCA.SYNTAXFROMSQL(SQLSTR,"STYLE(TYPE=GRID)", ERRMSG)dw_1.CREATE(SYNTAX, ERRMSG)dw_1.SetTransObject(SQLCA)dw_1.RETRIEVE()这段脚本的意思是将DW_1这个数据窗口的显示内容从足球明星更改为网球明星。

请注意最后的这两行脚本。

当我们创建新的数据窗口对象的时候,已经断开了数据窗口控件与事物对象的连接,所以当我们调用CREATE函数之后,还要再次调用SETTRANSOBJECT来重新建立相应的连接。

关闭窗口画板的工作区。

单击POWER BAR 上面的运行按钮,运行这个程序。

现在数据窗口中的内容是足球明星的名字。

如图9-6。

图9-6下面我们单击“更改”按钮,我们看到窗口中的内容已经更改为网球明星的名字了。

如图9 -7。

图9-79.3.4 提供查询模式在很多时候用户都希望能够自己设置检索条件来进行数据库的查询工作,所以为用户提供模式查询功能是一个常见而重要的工作。

下面我们就介绍如何实现这个功能。

我们打开一个预先定制好的窗口。

如图5。

在“查询模式”按钮上面单击鼠标右键,弹出菜单,选择SCRIP T 命令,为这一按钮的单击事件编写程序。

输入下面这段脚本:dw_1.Modify("datawindow.querymode = yes")这行脚本的意思是将数据窗口的查询模式设置为允许。

关闭这个窗口。

在“开始查询” 按钮上面单击鼠标右键,弹出菜单,选择SCRIPT 命令,为这一按钮的单击事件编写程序。

输入下面这段脚本:dw_1.Retrieve()dw_1.Modify("datawindow.querymode = no")这行脚本的意思是命令数据窗口按照用户输入的检索条件进行查询。

并且关闭查询模式。

关闭这个窗口。

关闭窗口画板工作区,然后单击POWER BAR 上面的运行按钮,运行这个程序。

我们看到数据窗口上面显示了数据库中存储的所有足球明星的资料。

如图9-8。

图9-8下面我们单击窗口上的查询模式按钮,数据窗口上面的所有数据被清空。

下面我们就可以进行检索条件的输入工作了。

在窗口中所列出的表列上面输入您要设置的条件。

比方说,在国别一栏当中输入意大利,在年龄一栏当中输入<25,同一行的检索条件是逻辑“与”的关系,这就表示要求检索数据库中含有的所有年龄小于25岁的意大利球星的名字。

我们还可以输入更多的检索条件,比方说,在国别一栏中输入英国,在俱乐部一栏中输入“曼联”,不同的行的检索条件之间是逻辑“或”的关系,所以,前面输入的查询条件的意思就是查询数据库中小于25岁的意大利球星以及曼彻斯特联队的英国球星的资料。

相关文档
最新文档