PB复习题及参考答案doc.docx
《PB复习题及参考答案doc.docx》由会员分享,可在线阅读,更多相关《PB复习题及参考答案doc.docx(16页珍藏版)》请在冰豆网上搜索。
![PB复习题及参考答案doc.docx](https://file1.bdocx.com/fileroot1/2023-2/11/a1aceff3-8af8-48d2-91b7-12632cf28555/a1aceff3-8af8-48d2-91b7-12632cf285551.gif)
PB复习题及参考答案doc
PowerBuilder复习题
一、1.以下(D)不是PowerBuilder10的新技术.A.WebDataWindowB.迭代开发和目标建模C・支持Microsoft.NHT工作区管理程序对欽
2.下面哪个不是类型转换函数(B)。
八.realB.intC.doubleD.dec
3.
B.InsertMenuItem
下面(D)不属于插入菜单项的命令«A.InsertSubmenuItem
C.InsertMenuItemAtEnd
D.InsertParentmenuItem
7.(A)M格为数抑;厮口対象提供対数拥分组的简便方法。
A.GroupB.TabularC.GridD.Label&以常线的电子表格方式显示数据.数据的每-•项都放在网格之中,是属于哪-•种农现风格(C>.
A.GroupB.TabularC.GridD.Label
9.获取数据窗口对象指定缓冲区中的行.列状态的旳数是<A九
A・GetltemStatusB.CurrentRowC.DeletedCountD.ModifyCount
10.数拯窗口控件的DoubleClicked件触发之也会先鮭发(C)爭件eA.EnorB.OpenC.Clicked
11.
(D)不是PowerBuilder10的特点。
A.面向对象开发B.面向爭件驱动的应用程序C.跨平台开发
17.在PowerBuilder中执行SQL査询语句时.如果査询结果没有数据•其爭务的sqlcod巳的值是(D)。
A.OB.1C.-lD.100
19.Page标签页只能用于(A)目标。
A.Web§标B.EAS巳rver组件C.应用程序模板
20.MessageBox函数button参数的默认值为(B)。
A.OKCancel!
B.OK!
C.YesNoCancel!
21.菜单名称中作为访问键的字僚可加符号(C)。
A.SB.#C.&
D.应用程序
D.YesNo!
D.@
18.(D>风格的数据窗口对象是山多个标签组成的。
A.GroupB.TabularC.GridD.Label
22.(A)是一种很常用的数据窗口农现风格.它对输入的数据内容有明确的提示。
其主要特点是布局灵活.自山.列标题紧挨若
数丸•列.A.Freeform
B.Tabular
C.Grid
D.Label
1.PowerBuilder的变駅作用域有全局变AL实例变绘,共亨变址.局部变AL
2.用于显示、修改和删除数据的控件是DataWindow。
3・数据库爭务有两种方式.分别为静态关联和动态关联。
4.创建数据农冇两种方法,分别是通过数据库管理系统提供的T具创建和使用Mwerbuilckr画板来创建;
5.PowerBuilder所捉供的5种数拯源分别是QuickSelect・SOLSelectOuery,Exiemal・SioreProcedure
6.分栏显示数据.使用的显示风格为N・UP风格’
7.PowerBuilder足事件驱动工作方式。
8.应用程序对彖设国其名称的屈性是TextFont.
9.常见菜单的类旳冇弹出式菜单.下拉菜单、级联式菜单。
10.可以显示树形数据的控件是TrevVieM?
11.动态SQLYf四种类盘,分别是既无输入参数,也无结果集,有输入参数.但没有结果集,编译时已经知道参数和结果集的列,开发程序时,上不知道参数和结来集。
12.数据窗口提供了一种把务个数据窗口对欽集中在一个对隊之中的有效途径的风格Compositco
13.每个数据窗I】有>9个缓冲区,分别是PrimmBiHTer、DeleieBulTer、FillerBuiTer、OriginalBuffer。
14.要在网页上使用数据窗口对象,必须选中的屈性是\wbgciK「alk)m
15.数据窗口对象的两个主嬰组件是Dcsc「ibc()和ModifyQo
三、简述题
1•简答PowerBuilder有哪些特点?
①使用方便的数据窗口对欽•②丰富的数据表现风格(口种数据窗口格式)③面向对象的編穆(包含面向对彖的特点,封装性;多态性;继承性)④编程方法简单,效率高,报表功能强大⑤无须编写SQL代码直接利用数据窗口对数据库的数据进行管理(増删改査等操作)
1.PowerBuilder中标识符的构成规则是怎样的?
首先:
标示符是程序中代表变量,标号,函数,窗口,选单,控件,对彖等名称的符号.
规则:
①必须是字母或者下划线开头②由字陥数字,下划线短横线・,美元符号,帕%组成。
③不能是powerscript保留字。
④不区分大小写。
⑤最长40个字符
2.PowerBuilder10变量作用域冇瑯几种?
各有什么特点?
全局变量在整个应用程序中都可访问.它的作用域是整个应用程序。
实例变量与对象相关联,只有在该对象的爭件处理程序或函数中才能使川为该对彖定义的实例变戢在它所关联的对飲被打开时创建,被关闭时消失。
共享变量是一种静态变就,这不仅总味祥它所在的对欽关闭后再次打开时,共亨变就依然保持对象关闭时的值,而J1还意味濟同一个类影个实例中的同名共享变虽保持相同的值。
局部变量只能在相应的卿本程序里定义和使用的临时变虽.在该脚本运行结束后,相应的变呈航不存在了
3・PowerBuilder中计篦数值表达式时,数据类型提升的规则是什么?
根据操作数提升数据类型:
如果表达式中包含不同类型的操作数,那么数据类型优先级较低的操作数的值被转换为数据类空优先级较高的值,Z后进行计算,表达式的数据类里为优先级较高的操作数的数抑:
类型:
根据运算符提升数据类型:
如果操作数是整型.系统首先把操作数的数据类型提升为长整型.除法和探的最低秸度&double类型^根据文字虽提升数据类型:
没有小数点的文字屋的值在I。
陛数据类型农的值的范删内时.文字量的数据类型为long;当没有小数点的文字屋的值超出long数据类型时,文字塑的数据类型为unsigncdlong:
带小数点、点不是指数衣示的文字塑的数抑淡型为decimal:
带小数点、并且梧数农示的文字的数据类型为double。
4.写出PowcrScripl中的条件语句.For循坏语句.Do循环语句、Choose语句的格式与功能(可川图表示)。
IF语句IP-THEN语句是一个控制结构。
在规定条件为克的悄况下执行持定的动作
松式:
IFconditionTHENaction1[ELSEaction?
Z
FOR-NEXT是个循环次数确定的循环结构,
它使循环体内的语句执行规定的次数,其语法播式为:
FORvarnamc=startTOend|STEPincrement]
Statcnicntblock
NEXT
DO-LOOP结构提供了一种基于某个条件的灵活的循环方法,
它有pq种形式,分别为:
DOUNTILcondition...LOOP
DOWHILEcondition...LOOP
DO...LOOPUNTILcondition
DO...LOOPWHILEcondition
CHOOSECASE语句
CHOOSECASE语句能根据测试表达式的值选择不同的操作
语法格式为:
CHOOSECASEtestexpression
CASEcxpressionlist
statcmentblock
{CASEexpressionlist
statcmcntblock・・・
CASEexpressionlist
statcmcntblock}
{CASEELSE
statcmcntblock}
ENDCHOOSE
DO..丄OOP
5.PowerBuilder中,什么是应用程序对彖?
应用程序对皱是PowerBuilder应用程序启动时装入的第一个对象,它是用户应用程序的入点
6.什么是PowerBuilder中的II标?
它的作用是什么?
目标可只包括一个应用程序对象或包括其他的对象,作川是管理不同的应用程序,目标包括有应用程序、应用程序模板、web目标等。
7.什么是PowerBuilder应用程序对象画板?
作用绘什么?
P46-47
是创建应用程序对彖的主要工具.通过该画板可以设置应用程序屈性,编写相应爭件的訓本.它是为创建应用程序捉供了相应的菜单和工具栏,通过命令和工具按饭來使用画板。
&PowerBuilder提供了哪儿类窗口?
*自的特点是什么?
主窗口:
独立于其它窗口的单独窗口押出窗口:
在另一个窗口打开。
子窗口:
总是在主窗口或邨出窗口中打开响应窗口:
用于向用户请求信息,通常从另-•个窗口中打开多文档界面窗口和
带微帮助的多文档界面窗口:
mdi窗口是一个可在其中显示英它窗口的主窗口
9.什么是菜单?
有哪儿个种类?
I.菜单是相关命令和选项(菜单项)的列表•是激活其他廝口或执行某项功能的一种方法。
2•菜单分3类.下拉式菜单.弹出式菜单.级联式菜单。
10.菜单有哪些事件?
并加以解释。
Clicked:
当用户对象被单击时触发。
Help:
当丿I]户按Fl键或樹口标题条上的上下文帝助按创[”,且选中并单击某菜单项时。
Selected:
当用户使用箭头键或叡标移动焦点到该菜*1对懐时触发。
11.如何在应用程序中控制某一个菜单项的•'可用”与“不可用”?
Gcrcral选项卡使用如下菜单函数控制:
Disable:
关闭菜单对欽并使显示变为灰色:
Enable:
JF放菜单对象。
便用户可以选择该菜单项,并tL这个菜单项以正常像色显示,同时把该菜单•对皱的enable性设貝为iwe.12・如何实现菜单对彖与窗口对象的关联?
在窗口画板中的General标签页中,有一个MenuNameK性,该编辑惟决定窗口是否带有菜取,其内容为空时说明没有菜单・,
否则该編辑框的内容就是菜单的名称,通过此项实现谢门与菜单的关联。
门.根据控制功能不同,窗口控件有哪些种类?
毎一种类举-•例。
激活动作、显示数据、指示选择、修饰。
激活类控件ConmiandButlon(命令按钮)、显示数据类控件:
StaticTcxt.抬示选择类控件RadioButlon(单选框)、修饰类控件Line(直线)
14.PowerBuilder中的激活类控件的功能是什么?
包括哪些控件?
激活类控件的功能是响应折令,触发事件!
I.CommandBulton(命令按钮)2.PictureButlon(图片按钮〉3.PicturcHypcrLink(图片超级链接)4.StaticHyperLink(静态文本超链接)5.Tab6.UserObject(用户对彖控件〉
15・PowerBuilder中的显示类控件的功能是什么?
包括哪些控件?
举5例。
显示类控件的功能主耍是为用户显示侑息,提供操作辅助。
主耍包括:
SlalicTcxl、Graph、Piclurc、SingleLincEdit%MultiLineEditxEditMask>RichTextEdil>ProgrcssBar>ScrollBar^LislBox>DropDownLislBox>PiclurcListBox^DropDownPicturcLislBox>DalaWindow>LisiViewTreeViewxTab、UserObjecl和OLE
16.如何为CommandBulton控件和SingleLineEdit控件定义快捷键?
为与文本关联的控件CommandBulton,方法为:
定义此类控件的快捷键,可在此控件的Genenil页中的Tcxl文本柜中,在文本名前加与符(&)來定义快捷键。
与文本不关联的控件(singleLincEdil)方法为:
定义此类控件的快捷键,可以此控件WGeneral页中的Accelerator文本中綸入快捷键
17.PowerBuilder中数据库慄作的一般步骤是什么?
18・创建数据库,如创建ASA数据库;
定义ODBC数据源:
配WDBProfile,即建立数据库描述文件;连接数据库;
19,PowcrBuildcr做入SQL的方法主要有哪两种?
试分别介绍。
1游标:
在嵌入式SQL中,如果试图从亠个表中检索出多行数据,那么就会得到-条错谋倍息,但在实际开发中,很多时候都需耍检索岀满足条件的多条记录•在这种情况下.就可以使用游标,游标是一个临时表,其中包含了满足条件的所有行.
2动态SQL语句:
当需要创建或删除葛或者需要动态生成SELECT语句忌可以便用动态SQL语句解决。
动态SQL能收处理生成的SQL语句.也能够执行•潜入SQL不支持的、某个数据库管理系统特有的SQL语句。
19.动态SQL有哪几种类型?
试分别介绍。
I•吸无输入参数、也无结果集2•有输入参数.但没有结果集
3•編详时已经知逍参数和结果集的列4•开发程字时尚不知道参数和结果集
动态SQL有四种类型:
一、既无输入参数•也无结果集:
使用这种格式执行的SQL语句不产生结果集,并且不需要输入参
数.可以使用这种SQL格式执行所有的数据定义语言DDL。
二、有输入参数,但没有结果集:
使用这种格式执行的SQL语句不产生结果集.但是需要输入参数.使用这种语法格式可以执行所有形式的数据定文语言.
三、编译时已经知逍参数和结果集的列:
使用这种格式执行的SQL语句产生结果集.也需要输入参数,并且输入和输出的列项都足可知的。
第三类动态SQL处理参数个数和结果集在编译时已知的情况,它有两种形式:
使用游标和使用存俗过程.其语法格式为:
四、开发程序时.尚不知道参数和结果乗:
第四类动态SQLifi句姒复杂.功能也赧强.它能够处理編程时尚不知逍参数和结果集的SQL语句。
它有两种形式:
一种针对游标处理.另一种珍贵存储过程而言。
20什么是数据窗口对幺?
数据窗口对彖是PowerBuilder中用于査询、显示利维护数据的-种对象,这是Sybase的-项专利技术,通过它不仅可以处理关系数据库中的数据,而且还可以处理其他数据。
21・PowerBuilder数据窗口有哪儿种显示风格?
各有什么特点?
1・Tabular^列表)2.Grid(表格)3.Freeform(自由格式)4.Labcl(标签)5.N-up(分栏)6.Group(分组)7.Crosstab(交叉列表)8.Graph(统
计图)9.OLE2.0(外部文本)10・RichTcxt(超文*)ll.Compos!
tc(复合)风格
2・Grid风格:
Grid风格的数据窗口以行、列形式显示数据,并用网格线将数据项分开。
数据项被严格限制在网格中。
运行时,数据窗口的列的顺序和宽度可以任总调整,主耍用于大域数据的浏览。
3.TabularM格:
数据窗口与GridM格数抓厮口类似.也是以行列形式显示数拥.并H毎列数据都有一个列标题.不同的是.Tabular数据因格没有风格线.而且在设计视图中.列和文本可以彼車新调整位置。
4.Frccfomi风格:
数据谢口需要程序员自己设计数据的显示格式,默认情况下列标趣和列只是被简虹的排成多行。
Freefonn数据謝口通常用户数拯录入。
5.CrosstabM格:
Crosstab风格数据窗口是一个非常有用的数据分析工具,主耍用于数据的交叉统计。
6.Graph风格:
可以把数据库中的数孫以图农的形式已观的表示出来,Graph数据窗口主耍用于制作统计图。
7.Composite风榕:
数据窗口提供了一种把多个数据窗口对象集中在一个对象Z中的有效途径。
Composite数据曲口没有数抵源.它并不直接用來显示数摇.而是通过组合把其他对象放在一起。
&Group风格:
为数据窗口对彖提供了-•种对数据分组的简单方法•分组即按数据的某-•数据项的不同分开显示,毎一组都可以带冇统计数据。
这种风格的数抵谢口主要用于显示冇组关系的数据。
9.Label风格:
数据窗口对铁是曲多个标签组成。
这种风格的数据窗口主要用于设计贴信封上的邮窃标签.业务卡.磁盘标签等。
10.N・UP风格:
数据窗口用于分栏显示数据.这种风格应用可以便报衣在一个报表页中最大限度的显示数据。
11.OLE2.0风格:
数据窗II时一种只包含一个OLE对象的数据窗II,数据曲口检案到的数据不绘由列显示,而是波传给OLE对象表示出来•
12.RichText风格:
数据窗II是-•种使用RTF标准編笹和显示数据的数据厮口.这种数据厮口对于仅用显示的报农.邮件合并文档非常有用,它也可以用于数据的录入。
22.PowerBuilder为数第窗口提供了儿种数据源?
试分别介绍。
1QuickSelect:
展一种报简®的定义数据源的方法•使用这种方法可以从⑴个农或通过外部键关联的多个农中选择列,并且还可以抬定排睜标准和查询条件,但这种数据源有一定的局限性,即通过向导定义数据窗口时:
不能指定分组,不能定义计算列,不能定义检索参数。
2SQLSelect:
足一种复杂的数据擦,这种数抑;源允许从亠个或多个表中选取列,并H在通过向导蒂尼数据窗口的过程可以:
指定WHERE子句,指定0RDERBY子句,指定GROUPBY和HAVYING子句,定义计算列.定义检索参数•
3Qucry:
选择Query作为数据源.相当于选择一个定义好的SQLSelect语句作为数据窗口的数抵來鴻。
4Exiernal:
如果数第窗口的数据不是来自数据库.而是在应用运行时適过程廉从其他文件中读入的•则此类数据廝口需要使用外部数据源。
5StopProcedure:
存储过程是一段存放在数据库中的、编译和优化过的SQL语句,如果你使用的数据库支持存储过粘那么在定义数据窗口时眦可以便用存储过程作为数据源.
23・数据窗口对險与数据窗口控件有何不同?
各自的作用是什么?
数据窗口对象是PowerBuilder用于查询、显示和维护数据的一种对象.这是Sybase的一项专利技术,通过它不仅可以处理关系数据库中的数据,而IL还可以处理其他数据。
而数据陽口控件是PowerBuilder应用程,序中数据谢口对象的容器,可以在爵口中与用户交互数据,用户能够在爵口中查看利修改数据并可把修改后的结果存入数据库中。
数据窗口控件也是放皑在窗口或用户对象上的-•个控件,主要用于显示、修改、更新数据库中的数拯。
相同点:
梅有一组属性、换数和控件。
24.数据窗口有哪儿个缓冲区?
试分别介绍。
数据窗口有以个缓冲区:
PrimaryBuffer缓冲区.DeleteBuffer缓冲区.hikerButTer缓冲区.OriginalBuffer缓冲区。
PrimaryBuffer缓冲区:
用于存放填充窗口中数据窗门控件数据.调用数据窗口的Retrieve。
函数和InsertRow(溜数可以将数据填入这个缓冲区。
DeleteBuffer•缓冲区:
保存的是用DcIctcRow()函数从PrimrayBuffer除的记录,执行Upddet()函数时,系统根据这一缓冲区的记录形成DELETE语句。
FillerBuffer缓冲区:
存储的是从OriginalBMTe「使用Filler()函数过滤到PrimaryBuffer后剩余的记录
OriginalBuffer缓冲区:
存储的是数据窗口最初执行rc(rieve()函数时得到的全部记录。
四、编程題1创建一个应川程序,弹岀一个对话框,提示“这是一个应用程序蔦globaltransactionsqlca
globaldynamicdcscriptionarcasqlda
globaldynamicstagingareasqlsa
globalerrorerror
globalmessagemessage
endforward
globaltypedemofromapplication
stringappnamc=MdcmoM
endtype
globaldemodemoondcmo.crcatcappname=Mdemo"nicssage=crcatcmessagesqlca=crcatctransactionsqlda=createdynamicdescriplionareasqlsa=crcatcdynamicstagingarcacrr()r=crcatcerror
endon
ondcmo.ciestroydestroy(sqlca)destroy(sqlda)destroy(sqlsa)destroy(crror)destroy(message)endoneventopen;messagebox(M;这是一个应用穆序・)open(w_dcmo)endevent
2.自定义一个函数,比较两个正整数的大小,输入数从单行文本框录入。
integerli_lji_2subroutine(integerILLintegerli_2)f_bj(integerli_l,integerli_2)iflLl>lL2then
mcssagebox(M^tring(ILl)+,大・)
elselfU.l=IL2then
messageboxCV两个数一样大J
else
messagebox(Mrstring(IL2)+,大)
endif
3.编写一个程序.判断其数拥是否大于1000・小于10.若其数据小于1000或大于10,则提示该数拯不合法并终止应用程序。
integerli_3
li_3=integer(em_3.text)
ifli_310then
messagebox(°/数据不合法,程序将中止J
halt
else
endif
4.请指出下列程序代码中的5处错決.并说明错谋原因。
StringIstr^longName,lstr_shortName
StringPrior,Before
IntegerI,j
lstr_longName=Istr^shortName="Jane"
1=1
J=i++
Ifbefore=NULLThen
MessageBox(Mwaniing*\naerror")
EndIf
lstr_longName=lstr_short&
name+”Miss**
答:
第1处:
Prior保留字不能为标识符命名
第2处:
Istr-ShortName="Jane"是关系表达式,不能用一个表达式给变虽赋值
第3处:
j=i++不能用一个表达式给变匮赋值
第4处:
Prior=NULL字符串不能与NULL比较
第5处:
lstr_shortNan)e是一个变氐不能用&分开,否则会提zR;lstr_short和name没有定义。
5.创建-个如图所示的应用程序•各控件名称如图所示.完成以下功能。
输入用门名和密码.按"确定•'按钮.弹出一个对话框。
当