《asp基础实用教程(DOC格式)》第9章


处理ASP输入的表格
在表格向Web服务器提交信息时,用户的Web浏览器请求用HTML标记的ACTION属性所指定的。ASP文件(在前面的例子中,该文件被称为Myfile。asp)。。ASP文件包含了处理表格值(如显示结果表或从数据库查询信息)的脚本。
可以通过三种途径用。ASP文件收集HTML表格的值
* 静态的。htm文件可以包含一个将其数值邮送给。ASP文件的表格。 
* 。ASP文件可以创建一个将其信息邮送给另一个。ASP文件的表格。 
* 。ASP文件可以创建一个将其信息邮送给自身的表格,即包含该表格的文件。 
前两个方法的操作方式相同,当表格与网关程序交互时,除ASP之外,可以包含读取和响应用户选择的命令。
创建一个包含表格定义且传送信息给自身的。ASP文件较复杂,但却是有很强功能的处理表格的方法。这一过程在验证表格输入中演示。
获得表格输入
ASPRequest对象提供了两种集合,在很大程度上简化了检索附加在URL请求上的表格信息的任务。
1、QueryString集合
QueryString集合获取作为跟在请求的URL的问号后面的文本传递给Web服务器的值。通过使用HTTP GET方法或手工将表格的值添加到URL,表格的值可以被附加在请求的URL之后。
例如,如果先前的表格示例使用GET方法(ACTION = ”GET”) 且用户键入Jeff、Smith和 30,那么下面的URL请求将被发送给服务器:
http://scripts/Myfile。asp?firstname
=Jeff&lastname=Smith&age=30&userstatus=new
Myfile。ASP包含下面的表格处理脚本:
Hello; 。 
You are years old。
在这种情况下,Web服务器将返回下面的文本给用户的Web浏览器:
Hello; Jeff Smith。 You are 30 years old。 This is your first visit to thisWebsite!
QueryString集合有一个可选参数,可用来访问显示在请求正文中的多个值中的一个。也可以使用Count属性计算一个特殊类型的值的出现次数。例如,表格包含一个多项目的列表框可以提交下面的请求:
http://list。asp?food=apples&food=olives&
food=bread
您也可以使用下面的命令去对多个值计数:
Request。QueryString(”food”)。Count
如果想显示多个值的类型,List。ASP应包含下面的脚本;
上述脚本将显示: 
apples
olives
bread
2、Form集合
当使用HTTP GET方法去向Web服务器传递长而复杂的表格值时,将可能丢失信息。大多数的Web服务器倾向于严格控制URL查询字符串的长度,以便用GET方法传送的冗长的表格值被截断。如果您需要从表格发送大量信息到Web服务器,就必须使用HTTP POST方法。此法用于在HTTP请求正文中发送表格数据,而且发送的字符的个数可以无限多。也可以使用ASPRequest对象的Form集合检索用POST方法发送的值。
Form集合与QueryString集合存储数值的方式相同。例如,如果用户用一长串名称填充表格,您就可以用下面的脚本检索这些名称:
验证表格输入
一个好的表格处理脚本在处理数据前,应先验证输入表格的信息是否有效。验证脚本可以检验用户输入到表格的信息类型是否正确。例如,如果您的Web站点包含一个表格,该表格允许用户计算财务信息,那么在处理结果之前,需要验证用户确实输入了数值信息而不是文本。
一个非常方便的验证表格输入的方法是创建一个向自身传递信息的表格。在这种情况下,。ASP文件包含可获取信息的表格。例如,下面的脚本通过向自身传递信息来验证用户是否在 ”age”表格字段中输入了数值:
Hello; your age is 
Please enter a numerical age。
Name: 
Age: 
在这个例子中,脚本也在包含表格的同一Verify。ASP文件中。表格通过在ACTION属性中指定Verify。ASP自身传送信息。
您也可以创建客户端脚本来检验用户是否输入了有效的信息。验证用户在Web浏览器上的输入除了更迅速地向用户提示表格项错误外,还可以减少Web服务器的网络流量。下面的脚本运行在用户的Web浏览器上,在将信息提交到Web服务器之前,验证用户信息。
Name: 
Age: 
十、访问数据库
ActiveX Data Objects(ADO)是一项容易使用并且可扩展的将数据库访问添加到Web页的技术。可以使用 ADO去编写紧凑简明的脚本以便连接到Open Database Connectivity(ODBC)兼容的数据库和OLE DB兼容的数据源。
如果您是一个对数据库连接有一定了解的脚本编写人员,那么您将发现ADO命令语句并不复杂而且容易掌握。同样地,如果您是一个经验丰富的数据库编程人员,您将会正确认识ADO的先进的与语言无关性和查询处理功能。
创建ODBC DSN文件
在创建数据库脚本之前,必须提供一条使ADO定位、标识和与数据库通讯的途径。数据库驱动程序使用Data Source Name(DSN)定位和标识特定的ODBC兼容数据库,将信息从Web应用程序传递给数据库。典型情况下,DSN包含数据库配置、用户安全性和定位信息,且可以获取 Windows NT注册表项中或文本文件的表格。
通过ODBC,您可以选择希望创建的DSN的类型:用户、系统 或 文件。用户和系统DSN存储在Windows NT注册表中。系统DSN允许所有的用户登录到特定的服务器上去访问数据库,而用户DSN使用适当的安全身份证明限制数据库到特定用户的连接。文件DSN用于从文本文件中获取表格,提供了对多用户的访问,并且通过复制DSN文件,可以轻易地从一个服务器转移到另一个服务器。
由于以上原因,本主题中的示例将使用文件DSN。
通过在Windows的”开始”菜单打开”控制面板”,您可以创建基于DSN的文件。双击〃ODBC”图标,然后选择”文件 DSN”属性页,单击”添加”,选择数据库驱动程序,然后单击”下一步”。按照后面的指示配置适用于您的数据库软件的DSN。
配置Microsoft Access数据库的文件 DSN
在〃创建新数据源〃对话框中,从列表框选择〃Microsoft Access Driver”,然后单击”下一步”。 
键入您的 DSN 文件名,然后单击”下一步”。 
单击〃完成〃创建数据源。 
在〃ODBCMicrosoft Access 97 安装程序”对话框中,单击”选择”。选择Microsoft Access数据库文件(*。mdb),然后单击”确定”。 
注意由于性能和可靠性的原因,我们极力推荐您使用〃客户…服务器数据库引擎”配置由这样一种We
小说推荐
返回首页返回目录