ASP中查询数据库记录写入XML文件示例
2005-03-22 22:03
344 查看
把下面代码保存为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
%>
<%
'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
%>
相关文章推荐
- ASP中查询数据库记录写入XML文件示例
- Transact-SQL 示例 - 查询某个数据库内的所有表的记录行数及其总和
- Asp.Net数据库查询生成XML文件
- Transact-SQL 示例 - 查询某个数据库内的所有表的记录行数及其总和
- ASP.NET温故而知新学习系列之ASP.NET多线程编程—多线程查询数据库记录
- Asp.net—查询数据库中记录
- 关于向数据库中写入“NULL”,以及查询出数据库中“NULL”的记录
- Oracle查询数据库中所有表的记录数
- asp.net 写入word (Microsoft.Office.Interop.Word)经验记录(看不明白问我)
- 用于查询当前数据库中所有表格的记录条数的脚本
- 数据库查询优化 查询上百万级记录提高查询速度
- Java MyBatis 调用聚合函数查询返回结果示例(记录下来,方便不记得时查看)
- 36. Oracle查询数据库中所有表的记录数
- WAP中ASP传递中文字符查询数据库演示
- 各个数据库中TOP10记录的查询方法
- 转载:30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
- 【数据库】SQL查询多条不重复记录值简要解析
- 数据库sql语句笔试题--包含创建数据库、表、插入记录、查询等操作
- 查询前几条记录SQL在不同数据库中的用法
- asp.net查询数据库时提示使用的sql server版本不支持数据类型date