10.2.4 数据源对象
数据源对象是一个存储和管理客户端数据的客户端对象。因为这是使用RDS最简单的一种方式,首先研究一下这些对象。
这里有几个不同的数据源对象,每一个都针对不同类型的数据:
· 表格数据控件(Tabular Data Control,TDC),用于处理表格形式或分隔形式的文本文件。
· RDS数据控件,用于连接OLE DB数据存储,能够指定连接到哪个数据存储,以及返回哪些数据。
· Java数据库连接器,这是一个通过Java数据库控件(Java DataBase Control,JDBC)连接到数据存储的Java小程序。这里我们不想讨论JDBC,因为它并不提供其他控件无法实现的功能。
· 微软的HTML(MSHTML)数据源对象用HTML标记数据,并把它作为数据源。
· XML数据源对象使用XML数据,用于结构化的或任意结构的XML。
选用哪一种数据源对象取决于你想做什么,以及数据从哪里来。如果需要向客户提供少量的数据,并且不允许用户修改数据,那么表格数据控件(TDC)可能会比较适合。这种数据源是一个文本文件,不需要任何数据库,因此编辑起来比较简单。对于从数据库中取出数据并且可能需要更新的情况,RDS数据控件是最合适的。而对于许多新数据源,会发现此时需要使用XML数据控件。这实际依赖于所使用的Web应用程序的类型,以及用户所需的功能。
我们将依次介绍这些数据控件,一旦了解了如何用它们把数据传送到客户端,将会介绍如何使用这些数据。
1. 表格数据控件
表格数据控件(Tabular Data Control,TDC)是最简单的数据源对象,主要用于少量的只读数据,特别是那些从不改变或很少修改的,不需要从客户端进行更新的静态数据。例如,表格数据控件能提供一个网页内的菜单项或链接的列表。
通过在HTML代码中使用<OBJECT>标记可以创建一个表格数据控件。参数DataURL可以指定包含文本数据的文件名。
<OBJECT CLASSID="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83"
ID="dsoAuthors" WIDTH="0" HEIGHT="0">
<PARAM NAME="DataURL" VALUE="Authors.csv">
</OBJECT>
TDC只读取表格中的数据或标记为表格形式的数据,例如,可以处理逗号分隔形式的数据(Comma Separated Value, CSV),类似于下面的数据:
"172-32-1176","White","Bob","408 496-7223"
"219-46-8915","Green","Marjorie","415 986-7020"
"238-95-7766","Carson","Cheryl","415 548-7723"
"267-41-2394","O'Leary","Michael","408 286-2428"
"274-80-9391","Straight","Dean","415 834-2919"
"341-22-1782","Smith","Meander","913 843-0462"
"409-56-7008","Bennet","Abraham","415 658-9932"
TDC也可以自由定义。除了DataURL外,TDC还有16个参数,可以通过设置OBJECT标记的参数项或编写脚本代码来配置这些参数。参数的说明如表10-1所示:
表10-1 TDC的参数及说明
属 性
数据类型
说 明
缺 省 值
AppendData
布尔型
确定新数据是替换还是追加到数据源对象中的现有数据
False
CaseSensitive
布尔型
指出字符串比较时是否大小写敏感
True
CharSet
字符型
指出数据的字符集类型。附录中字符集的列表
Windows-1252
DataURL
字符型
指出数据源文件的URL
EscapeChar
字符型
指定源文件中使用的转义字符。这些字符位于其他字符的前面以避免与FieldDelim、RomDelim或TextQualifier混淆
FieldDelim
字符型
指定字段之间的分隔字符
,(逗号)
Filter
字符型
设置过滤条件
Filtercolumn
字符型
设置过滤的列
FilterValue
字符型
设置过滤的列的值
Language
字符型
指定数据文件使用的语言
en-us(美国英语)
ReadyState
长整型
指出控件的当前状态。可以是以下值:adcReadyStateComplete(4)表明所有的数据都传送完毕,或发生了一个错误
adcReadyStateInteractive(3)表明数据正在传送中
adcReadyStateLoaded(2)表明控件已被加载并等待数据传输
这个属性是只读的
RowDelim
字符型
指定文本文件中的行分隔符,缺省为回车符
一个新行字符
Sort
字符型
指出要排序的列的列表。列名前有减号表明是按降序排序,否则按升序排序
SortDirection
布尔型
如果排序是升序则为True,降序则为False
SortColumn
字符型
指定排序的列
TextQualifier
字符型
指定封闭文本字段的字符,缺省为双引号
"(双引号)
UseHeader
布尔型
表明文本文件中首行是否包含列名
False
下面是使用参数创建TDC的一个例子。
<OBJECT CLASSID="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83"
ID="dsoAuthors" WIDTH="0" HEIGHT="0">
<PARAM NAME="DataURL" VALUE="Authors.csv">
</OBJECT>
也可以在客户端脚本中获取数据,下面的例子显示了给TDC加载数据的JScript脚本。
function fillTDC()
{
dsoAuthors.dataURL = 'authors.csv';
dsoAuthors.Reset();
}
如果改变了TDC的DataURL参数,必须使用Reset方法,这样才能使新的URL起作用。当介绍数据绑定时,会更详细地讨论如何使用它。Reset方法是TDC唯一的一个方法。
2. RDS数据控件
RDS数据控件能够访问一般的数据存储,而不是平面文件。它通常用于连接SQL数据库以从表、查询或存储过程获取数据。与TDC不同,RDS数据控件允许更新数据。在本章稍后通过示例说明如何进行数据更新。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



