2006年9月21日星期四

第六章 创建记录集

  如果应用程序要使用数据库,必须通过记录集作为媒介。当把页面属性与数据库中动态数据捆绑的时候,捆绑的是记录集中的数据而不是数据库中的数据。记录集是从数据库中通过查询语句提取的记录子集。查询语句由一些查询标准组成,它能产生包含数据库中某字段、某个数据的记录集。
 
  记录集还能包括数据库表的全部记录和字段。因为极少情况下应用程序需要使用数据库中所有的数据,所以,一般情况下使记录集尽可能地小。服务器在内存中保留着记录集,在不需要的时候释放它。所以,小的记录集占用更小的内存,这让服务器的负担更小,工作更轻松。设计记录集的指导思想是:在记录集中只包含应用程序需要的数据。
 
  6.1 SQL 入门
 
  我们首先来学习一下创建记录集需要的简单的 SQL 查询语句。对于创建记录集来说最常用的 SQL 语句是选择语句,它能从一个或多个数据库表中提取指定的字段创建记录集。
 
  选择语句的基本语法是:SELECT ColumnName FROM TableName,SQL 语句可以忽略所有的空白空间,所以可以用在语句中添加空格或者制表符等方法使语句逻辑清楚。
 
  1、选择整个表
 
  要选择表单的全部内容,使用星号“*”这个通配符。比如要选择名为 lyb 的表的全部内容,用 SQL 语句表达为:SELECT*FORM Student
 
  2、选择指定字段
 
  如果只需要 lyb 表中的 title 和content 两个字段,有 SQL 表达如下:SELECT title,content FORM lyb
 
  3、限制记录的数目
 
  使用 WHERE 子句来限制记录集中记录的数目。比如,lyb 表中包含表示主题的字段 title,要选择“只要努力就会有成果”这个主题,可以用如下语句表达:
 
  SELECT title FORM lyb
  WHERE title=‘只要努力就会有成果’
  WHERE的条件表达式如表6.1所示。
符号    含 义
=      等于 (注意大小写)
LIKE   等于 (不在意大小写)
<>     不等于 (注意大小写)
NOT LIKE 不等于 (不在意大小写)
<      小于
>      大于
<=     小于或等于
>=     大于或等于

  表:WHERE的 条件表达式
 
  4、记录排序
 
  我们可以使用 ORDER BY 语句在记录集中将记录排序。比如要将留言板按留言先后排序的话,可以这样表达:
 
  SELECT title FORM lyb
  ORDER BY date DESC
 
  缺省的排序是按升序即:
 
  先留言的在最上面,后留言的在最下面。使用 DESC 关键字就可以改为降序了,即最后留言的显示在最上面。
 
  有了 SQL 查询语句的基础让我们看看在 MX 中是如何定义记录集的。
 
  6.2 定义记录集
 
  MX 使用 SQL 来创建数据库的查询。在MX中不需要知道如何用 SQL 来定义记录集,这为我们提供了很在的方便。当然,也可以自己写 SQL 语句来定义记录集。
 
  要注意的是用 MX 定义完记录后,要把其中的字段放到页面上,才以在活动数据窗口中显示出来。
 
  1、不使用 SQL 定义记录集
 
  如果各位对 SQL 不熟悉,就可以使用 MX 中的简单记录集对话框来定义你的记录集。使用这种对话框定义记录集会很容易。在简单对话框中可以不使用 SQL 而直接选择某些项目来生成记录集。实际上 SQL 语句已经由 MX 替我们行动生成了。
 
  高级记录集对话框指的是在定义记录集时,该对话框直接使用 SQL 语句来直接生成记录集。现在我们来看看,用简单记录集对话框来直接定义记录集是如何实现的。
 
  首先要打开需要绑定数据的页面,否则将无法定义记录集。要注意的是可以为一个页面定义一个或多个记录集。但不能定义一个记录集为多个页面所共用。这就是说记录集是依附于页面工作的。
 
  2、在数据绑定面板中单击“+”按钮并且从下拉菜单中选择记录集(查询),如图 6.1 所示。
 

图 6.1 选择数据绑定面板中的记录集

  3、如图 6.2 所示,出现记录集设置对话框,如果显示的是高级记录集集对话框,请单击简单按钮把它转变成简单记录集集对话框。

图 6.2 简单记录集设置对话框

  4、在名称一栏的文本框中输入记录集的名字。我们在记录集取名字时,一般在记录集的名称前加前缀 rs,以便与其他对象名称区别开来。当然如果你不喜欢这样定义,取别的名字也没有什么影响。

  要注意的是在记录集名称中不能使用空格或者特殊字符。

  5、在连接下拉列表中选择一项连接。如果在列表中没有连接出现,单击定义按钮建立一个连接。实际上如果没有定义连接,MX 根本不让定义记录集。也就是说如果没有定义连接,数据绑定面板上的“+”按钮是灰色的,为不可用状态。

  6、在表格下拉列表中选择记录集所需要的表。表格下拉列表框显示已建立连接的数据库中的所有表。MX 列出的是选择的数据库连接中的表。

  7、在列一栏里给了两个单选项。如果想使用这个表中的所有字段作为一个记录集,就选择“全部”。如果只想选择一部分字段作为一个记录集的话就选择“选定的”。要想选择多个字段,只要按住 Ctrl 键然后进行选择即可。

  8、如果只想显示表单中的某个记录,就需要完成筛选部分的设置。

  例如:

  A、从第一个下拉列表框中选择“Id”,即在表单字段中选择与定义的标准值对应的字段。

  B、从第二个下拉列表框中选择“=”,即选择一个条件表达式符号,用来使每条记录的值与标准值比较。

  C、从第三个下拉列表中选择“URL参数”,当然也可以选择其它参数。

  D、在第四个文本框中输入一个值,我们这个例子要显示第四条记录,所以输入“4”。筛选设置完成后,使数据库中只有符合筛选条件的指定的记录值才会加在记录集中。

  9、如果想要记录按顺序排列,可以人“排序”下拉菜单中选择按哪个字段排序,并设定是升序还是降序。

  10、单击测试按钮弹出如图 6.3 所示的对话框,在测试值里输入“4”后点击确定。

图 6.3 输入一个测试值

  11、如图 6.4 所示,测试成功的显示了数据库中的第四条记录。单击确定按钮将其关闭,再单击确定按钮关闭记录集设置对话框架。

图 6.4 测试记录集设置的结果
 
  12、如图 6.5 所示,MX 把记录集添加到数据绑定面板的可用数据源列表中了。单击记录集左边的加号右以展开记录集的分支,查看定义的字段。可以使用其中的任何字段作为网页的动态内容。
 

图 6.5 定义完成的记录集显示在数据绑定面板上

没有评论: