目录
访问查询编辑器
IDE 简化了使用数据库查询的过程。将数据库表添加到应用程序中时(如将表组件放到页面上,然后将数据库表放到该表组件上),IDE 会将该数据库表绑定到表组件上并创建 SQL 查询。您会看到页面上显示的表组件发生变化:立即反映数据库表中的列。 您还会注意到,IDE 在会话 Bean 中添加了一个行集。该行集包含一个缺省的 SQL 语句,用于选择数据库表中的所有列。IDE 使用 例如,我们将表组件放到应用程序的 Page1 上,然后将 Travel 数据库中的 TRIP 数据库表放到表上。IDE 将通用表组件显示更改为图 1 中所示的内容,并将 tripRowSet 组件添加到 SessionBean1 上。
您很可能希望只检索表中的某些记录,可以通过诸如应用某些选择条件来实现。并希望此类选择条件是应用程序传入的动态值(如应用程序用户输入的值),而不是静态的、预设的硬编码值。您还可能希望只检索表中的几列,而不是所有列,并且希望按精确的顺序来显示这些记录。您可以通过编辑查询 SQL SELECT 语句来完成所有这些操作。查询编辑器为您提供了一种图形方式来编辑表行集组件中包含的 SQL SELECT 语句。 要打开查询编辑器,请在“概要”窗口中找到会话 Bean 中表的行集。双击行集组件(或右键单击行集组件,然后从弹出式菜单中选择“编辑 SQL 语句”选项)。请参见图 2。
图 3 显示了三个查询编辑器窗格(共四个窗格)。在此图中,查询编辑器显示了 TRIP 表的缺省 SQL 查询以及两个弹出式菜单。可以在相应的窗格中单击鼠标右键来打开弹出式菜单。这些窗格可以帮助您处理查询,它们从上到下的顺序依次为:
基本功能
选择和显示列 例如,我们不希望在查询结果中看到 TRIPID 或 TRIPTYPEID,因此我们取消选中了这两个字段(请参见图 4)。 设置别名(AS 子句) 排序顺序 例如,我们定义了三个要进行排序的列,首先按升序排序 DESTCITY 列,然后接着按升序排序 DEPDATE 列,最后按降序排序 PERSONID 列(请参见图 4)。
请注意,这些更改(别名、排序顺序和选定列)会反映在 SQL 窗格的 SQL SELECT 语句中。现在可以很轻松地读取 SQL 查询语法,原因在于特定的词语使用不同的颜色进行突出显示:SQL 的保留字使用蓝色、模式词语使用绿色、表名使用黑色、列名使用紫色来表示。 在查询中添加多个表
可以在查询中添加其他表,该查询将在 SELECT 语句中添加 JOIN 语句。要执行此操作,请使用图表窗格的“添加表...”弹出式菜单功能(请参见图 3),然后从“选择要添加的表”对话框中选择其他表(请参见图 5)。
我们已添加了 PERSON 表。请注意,图表窗格是如何使用方向箭头来显示两个表之间的关系(请参见图 6)。 也可以使用图表窗格中的“分组方式”弹出式菜单,按数据类型对查询结果进行分组。这将在查询中添加 GROUP BY 子句。 例如,图 6 显示了另一个定制查询。此时,我们连接了 TRIP 和 PERSON 表,添加了 GROUP BY 子句并且只选择了 PERSONID 不等于 1 的记录(我们将在下一部分“在查询中添加选择条件”中介绍选择条件)。
在查询中添加选择条件
您可以为查询选择添加条件,从而只返回与指定条件匹配的行。除 LIKE 和 IN 外,还可以选择使用比较运算符(如等于、大于、小于和不等于等)。可以将选择条件应用于多个表列,并按这些条件的优先级指定它们的顺序(就像执行排序顺序一样)。 让我们仔细看一下,如何使用查询编辑器在查询中添加选择条件。在网格窗格中,右键单击要添加选择条件的行中的“条件”列。如果要输入静态值来选择记录,请在“添加查询条件”对话框中选中“值”,然后从下拉列表中选择比较运算符并输入值。例如,您可能只想选择 PERSONID 大于 100 的那些 TRIP 记录。请参见图 7。
您可以让 SQL 查询使用在运行时以编程方式设置的参数,而不是设置静态值。请选择要应用的比较运算符,然后在相同的“添加查询条件”对话框中选中“参数”。例如,假设使用“参数”条件选项来选择 TRIP 记录,其中 PERSONID 小于或等于程序提供的值(请参见图 8)。“添加查询条件”对话框完成后,PERSONID 的“条件”列将显示 注意:有关在 SQL 查询中添加参数化条件和在运行时以编程方式设置参数值的详细信息,请参见教程使用数据绑定组件访问数据库。
在查询编辑器中测试该查询时,会看到图 9 底部结果窗格中显示的结果。
另请参见
|
| ||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||