2023年Oracle Developer第4章 表单 报表和图形的基础知识.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2023年Oracle Developer第4章 表单 报表和图形的基础知识.pdf》由会员分享,可在线阅读,更多相关《2023年Oracle Developer第4章 表单 报表和图形的基础知识.pdf(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、下载第4章表单、报表和图形的基础知识现在讲述怎样开发最初的应用程序。采用第 3章创建的数据库(请参看附录A),使用O racleDeveloper Builders 和Layout Editor,可以生成满足Ta lbot的要求的表单、报表和图形。创建表单以后,用报表Layout Editor 创建报表,然后加上图形来说明表单和报表。创建有复杂版面和许多操作的表单和报表的工作是简单的:可以方便地创建表单应用程序,显示和操作数据库中带有全部数据完整性的数据;可以非常容易地创建标准的报表;可以建立菜单并把它们连接到表单、对话框和报表上;可以容易地把图形的图表加到应用程序上。即使用最简单的C或C+程
2、序去做在Oracle Developer 中可以做的事情,也要做许多的工作。打个比喻,就好像是做一般的饭菜(很容易)和为美食家做美食之间的差别。用 C+编程,而且采用C ASE工具编程,就好像自己饲养家禽和种植蔬菜,把它们转换成食品(包括提供各种做法的资料),然后在餐馆管理1 6排厨师。如果用程序语言编制过程序就一定能够理解,如果没有编过程序,那么试试看就会理解。两者的差别在开发的形式上,Oracle Developer 着重说明建立在过程代码上的应用程序。Oracle Developer(和本书以前的版本)的许多首次用户一开始就迫切想知道什么时候能学到他们需要知道的所有的编码技术。但这本书直
3、到第 11章都不教P L/SQL编程,其原因是:在建立Oracle Developer 应用程序的过程中,有9 9的工作都不需要你去做。本章讲述如何用图形界面建立基本的表单和报表,完全不用(或者很少)书写代码。这也是为什么说 Oracle Developer是w in-win工具的主要原因:因为不用写代码,所以赢得了效率。因为得到许多成熟的工具帮助开发应用程序,所以赢得了质量。注意在关于数据库应用程序看起来像什么和它是如何工作的方面,F orms工具特别提供了许多假设。如果想降低生产力和指定开发小组和质量保证小组的工作,无论是从美学角度考虑还是希望增加性能,都可以使用这些不同的假设。例如要建立
4、在单程序块中违反F orms事务句柄方法的表单;或者要建立类似于电子表格和网格的报表;或者试图利用F orms对象和G raphs对象开发复杂的图形应用程序。所有这些都可能使你处于困境。使用Oracle Developer 中所预计的方法,可以在代价上和效率上获得大的效益。大多数开发人员将会发现Oracle Developer 给了他们做工作所需要的工具,而且这些工具相当令人满意。在第3章的“用Project Builder创建工程”中建立了两个工程,一个对应 Work Skill 应用程序,一个对应L edger应用程序。本章用这两个工程工作,在下面的教程中,假设正在打算使用Project
5、Builder 作为进入开发过程的主要进入点。如果不是这样,则必须用一组标准图标启动生成器,下面将告诉你在哪个工具集的工具按钮上单击这些图标。4.1 表单教程这部分内容来自第3章的工人技能(Wo rkerSkill)应用程序,这个应用程序把技能和工人联系起来。这一部分用许多插图介绍各种工具,通过实际体验,可以使你熟悉这些工具。完成这个训练以后,将学到以下技能:如何启动Form Builder。如何用标准对象库建立开发环境。Form Builder 如何连接到数据库。如何用Data Block Wi zard和Layout Wi zard建立表单。如何在表单中利数据库的表和列。如何建立和使用表单
6、布局。如何建立和使用带滚动条的多记录块布局。如何建立主-从表单。如何在表单中建立数据输入项的下拉列表。如何利用Layout Editor 的工具调整表单布局。如何从标准对象库中利用S martClasses格式化表单对象。如何将表单保存到模块文件中或数据库中。如何将表单加到Project Builder Projects 树中。如何将表单编译成运行时的模块。如何运行表单。4.1.1 启动首先要做的事情是启动建立表单的开发环境。1)单击Project Builder Launcher 图标,启动Form Builder。B uilder显示We lcome对话框。选择“Build a new f
7、orm manually”(手工建立新表单)单选按钮,打开N avigator。因为在建立第一个表单之前,需要做某些事情来初始化开发环境,通常用向导来生成表单。注意 我不检查启动复选框上的显示,所以我见不到欢迎屏幕。对我来说,那样作只是减慢了开发过程。这纯属个人爱好。当Form Builder 窗口显示一个Object Navigator 窗口时,看到一个缺省的表单 M ODULE1,它将作为这个窗口的唯一表单。现在,打开标准的Ta lbot对象库模块,像第1 0章中讲述的那样,F orms对象库模块提供一个F orms模式。可以通过子类或通过复制来用这些对象去设置属性和创建新对象的行为。大多
8、数开发工程至少要建立一个标准对象库,使得项目、窗口、画布、警报等的外观标准化。本章假设Ta lbot农场用叫做Talbot Standard 的对象库来做这件工作。这个对象库的 S martClasses包括为数据块项的主要类型、文档窗口,上下文画布和工具条画布、属性类和指定的可视化属性。在原形设计的处理过程中,将使用这些标准对象为原形系统创建的对象划分子类。2)使用O penFile(打开文件)按钮在代码目录中找到这个对象库,并打开它。在将来,每当启动Form Buider 时,它将打开这个对象库,或打开一个最后曾经打开的对象库。为了工程的其余部分访问所有的库的 S martClasses,
9、必须而且只要这样做一次。4.1.2 建立主-从表单本教程建立的第一个表单是一个主-从式表单。这个表单说明表单布局的两个基本类型第4章表单、报表和图形的基础知识4 1下载表单式和表格式。表单式布局方式用单个记录布置屏幕。而表格式布局按照带有多个记录的网络格式或电子表格来布置屏幕。主-从式表单通常以显示单个记录为主,表格式布局中是详细的一组从记录,在本教程中,表单显示某个工人,然后列出这个工人具有的所有技能作为这个Wo rker主记录的从记录。1)在Object Navigator 中选择表单对象。2)单击对象名字M odule1。3)键入一个新名字:Wo rkerSkill。注意,Form Bu
10、ilder 把键入的每个字母转换成大写字母。现在已经生成了 Wo rkerSkill表单模块(见图4-1)。但它不作任何事情,只是让你喘口气而已。要用人工创建表单而不要进入 Data Block Wi zard,因为需要建立表单的C oordinateSystem属性,像第5章推荐的那样使用英寸而不是点。这样作使得能够利用 Ta lbotStandard对象库,因为它使用类似的Coordinate System。如果你只用过向导的话,这是展示某些你没有见过的东西的机会。4)双击表单图标或右击它,从弹出式菜单中选择 Property Palette,选择表单对象并显示属性设置板。5)向下滚动到P
11、 hysical属性组,然后在Coordinate System 属性上或在它的M ore按钮上双击,观看Coordinate Info 对话框。第5章将作详细的讲述。6)把Coordinate System 设为R eal并把Real Unit设为英寸。提示TalbotStandard 对象库的Coordinate System 基于英寸,所以必须把使用这个库的对象的每一个应用程序的Coordinate System 属性都改为英寸。例如,在从这个对象库划分子类的对象中,Wi dth和H eight应该用英寸表示。但是如果Forms Coordinate System 是P oint(点),
12、它将把数字解释为点,而不是英寸,这种设置可能用处不大。还应该注意,与Oracle Developer一起提供的标准对象库采用的是基于点的 Coordinate System,它可能适应也有可能不适应你的特定情况。如果不考虑操作系统或用户接口的可移置性,可能发现接受缺省的Coordinate System 比较方便。如果这样,将不必每次经过人工创建表单,但是损失了某些可移置性。现在已经建立了标准环境和第一个表单的基本元素,本教程的下一步是创建表单的细节。创建这个表单要经过三个步骤:创建Wo rker数据块,从人员表中显示单个人员的记录。创建Worker Has Skill 数据块,从Wo rke
13、rHasSkill表中显示多个技能记录,并让它把从数据块连接到主Wo rker块上。增加一个下拉列表,用它提供 S kill表中所有的技能,使得无须键入技能而只需用从列表中选择它。清理表单外观。保存并运行这个应用程序,确认将它作为原形。在开始工作之前,连接数据库。选择 F ile|Connect并输入用户名、口令和数据库的服务器别名(例如在这里用talbot,georg e和O rcl)。注意在Oracle Developer 的开发过程中有几个访问数据库的点,在到达其中的某个点4 2第二部分Oracle Developer 教程下载图4-1 WorkerSkill 表单模块之前,不需要连接。
14、在任何要求连接数据库的点上,如果没有连接,则O r a c l eDeveloper 自动使用Connect对话框提示连接。1.创建Wo rker数据块Wo rker数据块对应于数据库中的 P erson表。通过查询这个块的记录,可以滚动通过这个数据库的所有P erson的记录。Wo rkerSkill用来给工人赋予特定的技能。必须要做的第一件事是在数据库中找出要赋予技能的那个人。在这种情况下所需要的是 Wo rker名字的单个域。首先,启动Data Block Wi zard,当第一次进入Form Builder 时,如果选择了Wi zard选项,那么这个过程会自动产生。但是因为是用人工建立
15、表单,所以必须自己启动。1)下拉To ols菜单,并选择Data Block Wi zard项,B uilder显示Data Block Wi zard的欢迎屏幕。如果在使用向导建立表单的屏幕上选择了这个屏幕,就总是从 Form Builder We lcome屏幕直接进入这个屏幕。2)在N ext上单击,所看到的屏幕让你在建立在表的数据块或在存贮的程序之间进行选择。应选择Ta ble或Vi ew选项,如图 4-2所示。提示有关使用存贮过程建立数据块的细节,请参看第 6章“过程的封装”小节。使用存贮的过程在数据的访问上有更多的控制,并且通过减少网络的信息量而提高了性能。可以在使用O racle
16、作为数据库服务器时使用这种方法。然而,也可以通过建立一个新的数据块来启动Data Block Wizard。在Object Navigator 中选择Data Block标记并在Create工具上单击,Oracle将提示是使用Wizard还是人工来建立数据块。图4-2 Data Block Wizard的典型屏幕Data Block Wi zard现在显示表屏幕,它要求输入表或视图的名字,并选择表的列或视图的列,以便将它们加入到数据库中。3)Browse 按钮让你浏览表的数据目录。在它上面单击,B uilder显示Ta bles对话框,问你想看什么(Ta bles、Vi ews或S ynony
17、ms)和来自什么模式(CurrentUser或Other users),然后它显示一个对象列表,可以从中选择当前用户的表(见图4-3)。4)选择想要的表名字“P erson”,输入到Base Ta ble域中。只要在相应的那一行上单击,然后单击O K。第4章表单、报表和图形的基础知识4 3下载在图4-4中的Wi z o r d的数据块屏幕上,Data BlockWi zard假设数据块和所选择的表使用同样的名字,所以在这里不能改变它。极力推荐你保持名字相同,使得以后容易了解正在进行什么。数据块屏幕列出表的各个列,这些列包括N ame列和A ge列,外加两个独立的住所列。P erson表的L o
18、dging列实际上是Oracle 8的R EF列,它指向住所表的一个数据行。Oracle Developer 知道这种关系。列表中的第一个 L odging列是L odging表的查找列,可以单击符号“十”部署列表,而且可以在数据块中包括这些列作为数据块的项。如果这样做了,注意到将又有另一个R E F,这一次是指到 A d d r e s s表,而且可以把任何A ddress列插入数据库块中。于是 Oracle Developer 通过Data Block Wi zard赋予你访问Oracle 8对象特性的全部能力。图4-4 Data Block Wizard 数据块屏幕提示数据库可能已经变化
19、而你不知道。如果在 Form Builder中做完工作返回到这个屏幕,而且不是第一次进入它的话,可以使用 R efresh(刷新)按钮,确保所看到的是所有有效的数据列。5)使用和 按钮,可以将数据列移动到Database Item列表中,这个列表是你想在数据块中创建的项目列表。如果只要 N ame列,就在那列上单击选择它。然后在按钮上单击把它移到Database Item 列表中。或者在N ame列上双击,再单击F inish(完成)。6)Oracle Developer 现在启动Layout Wi zard,显示欢迎屏幕。在N ext上单击,出现显示图4-5的画布屏幕。这个屏幕缺省地为这个数
20、据块建立一个新的内容画布,这就是你想要的。7)在N ext上单击,进入到数据块屏幕。在 Av ailable项目列表中看到N AME项,双击它告诉Wi zard表示要显示这一列。于是激活了 Item Ty pe域,缺省时是Text Itme,如图4-6所示。在F inish上单击。Wo rker数据块接着出现在Wo rkerSkill表单下的 Object Navigator 上,Layout Editor 显示这4 4第二部分 Oracle Developer 教程下载图4-3 Tables 对话框个新布局,祝贺你有了第一个数据块!图4-5 Layout Wizard 画布屏幕图4-6 La
21、yout Wizard 数据块屏幕2.创建Wo rkerHasSkill数据块现在,创建 Wo rkerHasSkill数据块,用来让用户查询和输入工人的技能,这是 Wo rker主数据块的从数据块。1)在Object Navigator 上找到P erson数据块并选择它。然后单击工具条上的 C reate按钮,告诉Form Builder 你想创建类似于P erson的类型的对象数据块,所以Form Builder 显示一个小的对话框,问你是用人工创建数据块还是使用 Data Block Wi zard。选择后面一个单选按钮。2)选择Wo rkerHasSkill表作为这个数据块的基础,利
22、用 按钮把所有的列移到这个表对话框的Database Item 列表中。3)在N ext上单击,显示主-从屏幕。如果有另外的数据块可以作为你要创建的下一个主数据块时,这个对话框才出现。当你产生表单的第一个数据块时,你看不到它。第4章表单、报表和图形的基础知识4 5下载4)在Create Relationship 按钮上单击,显示可以得到的主数据块的列表P erson列表。5)在列表的O K上单击,B uilder用缺省的连接填入其他的域,通过人员名字把人员和技能连接起来,如图4-7所示。单击F inish完成数据块并启动Layout Wi zard。图4-7 Data Block Wizard
23、 主-从屏幕6)Layout Wi zard的画布屏幕显示出为 P erson数据块创建的画布 C ANVA S2,告诉O racleD eveloper在同一个画布上创建Wo rkerHasSkill项。7)在N ext上单击,前进到项目显示屏幕。8)使用按钮,或者双击 Available Items 列表中的S KILL和A BILITY项,把它们传递到Displayed Items 列表中,如图4-8所示。使N AME项不进入Displayed Items 列表意味着在画布上看不到它。你已经在P erson数据块中看到了名字,所以在从数据块中不需要看见它。图4-8 WorkerHasSk
24、ill 数据块的Layout Wizard项目屏幕9)在N ext上单击,前进到项目屏幕中。在这个屏幕中修改所选择显示的项目的提示、宽度和高度。可以让每一个项目独立安放。当数据库表列的名字不是自然语言的单词时,制作一些容易理解的提示作为这儿的提示。4 6第二部分Oracle Developer 教程下载提示我发现等到以后再修改宽度和高度比较好。你可能经常用划分子类或属性类(在第1 0章中讨论)的标准高度来设置高度。宽度取决于最后的域的安排,这可以在 L ayoutEditor中看到。在图形绘制环境,只能拖动项目的边缘来设置较好的宽度。10)在N ext上单击,然后在 F orm和Ta bula
25、r布局的单选按钮间进行选择。在这种情况下,选择Ta bular,即选择用网格表示记录。11)在N ext上单击,出现如图 4-9所示的框架对话框。框架把画布上显示的一组项目进行分组。以后,可以通过选择这个框架,用 Layout Wi zard来修改这些项目。图4-9 Worker Has Skill 数据块的Layout Wizard框架对话框12)输入框架的标题“S kill”,并设置Records Displayed 为6。核对Display Scrollbar 复选框,显示在标签页上的六个记录,如果有六个以上的记录的话,用户可以用滚动条滚动观看。在F inish上单击。于是,你没有编写任
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023年Oracle Developer第4章 表单 报表和图形的基础知识 2023 Oracle Developer 报表 图形 基础知识
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内