当前位置: 首页 > 图文教程 > 网络编程 > ASP > 结合XML, ADO, 以及ASP

ASP
一个ASP版的图片浏览管理器
无组件上传图片至SQLSERVER数据库
利用Jmail.Message发送邮件
用Web页面执行客户端程序
多图片上传到指定的目录并存到数据库
dreamweaverMX通用分页代码研究
下拉菜单输入,根据输入内容自动定位
中文的无组件文件上传ASP函数
一个利用adsi得到局域网信息的asp文件
根据需要动态include不同的文件
让自定义文件下载支持断点续传
用数组实现数据记录的批量录入方法
上传的进度条 实时反映上传情况
用ASP动态生成javascript的表单验证代码
ASP 编程中20个非常有用的例子
ASP生成Word文档的又一方法
用asp解析图片地址,并将其保存。
利用ASP的文件操作实现用户管理
创建 Visual Basic COM 组件在 ASP 中使用
调试 ASP 中使用的 Visual Basic COM 组件

结合XML, ADO, 以及ASP


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 89 ::
收藏到网摘: n/a

  这个星期,我们将使用可扩充标记语言(XML)以及在ASP中使用ActiveX Data Object(ADO).在最新的互联网信息服务器(IIS 5)和ADO(2.6)版本中,我们现在能够从游标对象中提取数据作为XML直接保存并直接发给ASP的response对象   


下面的Phonelist.asp工程从创建一个底层的Access数据库开始.我的想法是开发一个对任何公司都有用的简单的数据集.第一步是命名表单contacts然后增加四个域:FirstName,LastName, Location, 和Phone.你要明白XML和可扩充风格页语言(XSL)是大小些敏感的,因此你要确保你的数据域名和XSL风格页中的那些定义相匹配.

本工程中的ASP只有一个简单的功能:提取数据并将它作为XML返回.首先,我们需要将文件内容类型标示为text/xml.然后,添加XML信息头和风格页连接信息来格式化XML数据.第三步,创建一个ADO游标对象来提取数据.这里你可以体会到XML技术的简单性是如此的精巧.我们不需要循环遍历整个游标对象也不需要将HTML和脚本代码混合来在ASP里格式化和显示数据,我们只需要简单的打开游标然后将数据作为XML保存到response对象里.

开发者能够容易的用XSL格式化和显示数据的确是令人神往的.你的开发过程越简单,问题存在的可能性就越小.

更多的信息和ADO MDAC 2.6版的下载链接可以在下面的站点找到:Microsoft Universal Access Data Web site.

下面是Phonelist.asp程序的代码.
<%@ Language=VBScript %>
<%
Response.ContentType = "text/xml"
Response.Write "<?xml version=""1.0"" ?>" & vbcrlf
Response.Write "<?xml-stylesheet type=""text/xsl"" " & _
"href=""PhoneList.XSL"" ?>" & vbcrlf & vbcrlf

set rsContacts = Server.CreateObject("ADODB.Recordset")
dataConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"User ID=Admin;Data Source=D:\Inetpub\wwwroot\ASP_Utils\PhoneList.mdb;" & _
"Mode=Share Deny None;Extended Properties="""";" & _
"Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";" & _
"Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=5;" & _
"Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;" & _
"Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";" & _
"Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;" & _
"Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:" & _
"Compact Without Replica Repair=False;Jet OLEDB:SFP=False;User Id=Admin;"
sql = "SELECT LastName + ', ' + FirstName AS Name, " & _
"Phone, Location FROM Contacts ORDER BY LastName"

rsContacts.ActiveConnection = dataConnStr
rsContacts.Source = sql
rsContacts.CursorLocation = 3'Use Client side cursor
rsContacts.Open
rsContacts.ActiveConnection = nothing

rsContacts.Save response, 1 'adPersistXML
Set rsContacts = Nothing
%>

The Phonelist.xsl file source:
<HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<TITLE>Company Phone List</TITLE>
<STYLE>
.Table {background:black}
.TableHead {font:bold; color:white; background:blue}
.ColumnHeader {font:normal 'Verdana' bold; color:white; background:blue}
.TableRow {font:x-small 'Verdana'; color:black; background:#CCCCCC}
</STYLE>
<BODY>
<DIV >
<TABLE CLASS="Table" ID="RecordTable">
<THEAD>
<TR CLASS="TableHead">
<TH CLASS="ColumnHeader">Name</TH>
<TH CLASS="ColumnHeader">Location</TH>
<TH CLASS="ColumnHeader">Phone</TH>
</TR>
</THEAD>
<xsl:for-each select="xml/rs:data/z:row">
<TR CLASS="TableRow">
<TD><xsl:value-of select="@Name" /></TD>
TD align="center"><xsl:value-of select="@Location" /></TD>
<TD><xsl:value-of select="@Phone" /