ASP中查询数据库记录写入XML文件示例

把下面代码保存为Asp_XML.asp运行即可: 
<% 
’By Dicky 2005-03-22 21:52:18 AM QQ:25941 E-mail:AppleBBS@GMail.Com 
Const IsSql = 1 ’定义数据库类型为SQL Server 
Call OpenConn(Conn) ’打开数据库连接 

Dim Rs,Sql 
Set Rs = Server.CreateObject("ADODB.RecordSet") 
Sql = "Select * FROM Products orDER BY ProductName" 
Rs.Open Sql,Conn,1,1 ’以只读方式查询数据记录 
If Rs.Eof Then 
Response.Write "Sorry,no record!" ’如果没有记录 
Else 
Dim objXMLDOM, objRootNode, objNode 
Set objXMLDOM = Server.CreateObject("MSXML2.DOMDocument") ’创建XML文档对象 
Set objRootNode = objXMLDOM.createElement("xml") ’创建根节点 
objXMLDOM.documentElement = objRootNode 

Do While Not Rs.Eof ’循环出所有记录 
’ Response.Write Rs("ProductName") &"<br>" 
Set objRowNode = objXMLDOM.createElement("row") ’创建父节点 
Set objNode = objXMLDOM.createElement("ProductName") ’创建子节点 
objNode.text = Rs("ProductName") 
objRowNode.appendChild(objNode) 

Set objNode = objXMLDOM.createElement("UnitPrice") 
objNode.text = Rs("UnitPrice") 
objRowNode.appendChild(objNode) 

Set objNode = objXMLDOM.createElement("UnitsInStock") 
objNode.text = Rs("UnitsInStock") 
objRowNode.appendChild(objNode) 

objRootNode.appendChild(objRowNode) 
Rs.MoveNext:Loop ’循环结束 

objXMLDOM.Save "D:/MyXMLDoc.xml" ’写入XML文件 可以用变量让用户在页面上自定义文件名 
Response.Write "<script>alert(’恭喜,写入XML文件成功!’);</script>" 
Set objNode = Nothing ’销毁对象 
Set objRowNode = Nothing ’销毁对象 
Set objRootNode = Nothing ’销毁对象 
End If 
Rs.Close 
Set Rs = Nothing 

Call CloseConn() ’关闭数据库连接 

Function OpenConn(Conn) ’打开数据库连接 
Dim ConnStr 
If IsSql = 1 Then ’如果是SQL Server数据库 
’SQL Server数据库连接参数:用户名、用户密码、数据库名、连接名(本地用local,外地用IP) 
Dim SqlUsername,SqlPassword,SqlDatabaseName,SqlLocalName 
SqlUsername = "sa" 
SqlPassword = "" 
SqlDatabaseName = "Northwind" 
SqlLocalName = "(local)" 
ConnStr = "Provider = Sqloledb; User ID = " & SqlUsername & "; Password = " & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source = " & SqlLocalName & ";" 
Else ’如果是Access数据库 
Dim Db 
’第一次使用请修改本处数据库地址并相应修改数据库名称,如将Dicky.mdb修改为Dicky.asp(防止恶意下载Access数据库) 
Db = "Dicky.mdb" 
ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(Db) 
End If 
On Error Resume Next 
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open ConnStr 
If Err Then 
’ Err.Clear 
Set Conn = Nothing 
Response.Write "数据库连接出错,请检查连接字串。" 
Response.End 
End If 
Set Rs = Server.CreateObject("Adodb.RecordSet") 
End Function 

Function CloseConn() ’关闭数据库连接 
Conn.Close 
Set Conn = Nothing 
End Function 
%> 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值