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

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

None.gif
Dim  Rs,Sql
None.gif
Set  Rs  =  Server. CreateObject ( " ADODB.RecordSet " )
None.gifSql 
=   " SELECT * FROM Products ORDER BY ProductName"
None.gif
Rs.Open Sql,Conn, 1 , 1   ' 以只读方式查询数据记录
None.gif
If  Rs.Eof  Then
None.gif    Response.Write 
" Sorry,no record! "   ' 如果没有记录
None.gif
Else
None.gif    
Dim  objXMLDOM, objRootNode, objNode
None.gif    
Set  objXMLDOM  =  Server. CreateObject ( " MSXML2.DOMDocument " ' 创建XML文档对象
None.gif
     Set  objRootNode  =  objXMLDOM.createElement( " xml " ' 创建根节点
None.gif
    objXMLDOM.documentElement  =  objRootNode
None.gif
None.gif    
Do   While   Not  Rs.Eof        ' 循环出所有记录
None.gif'
        Response.Write Rs("ProductName") &"<br>"
None.gif
         Set  objRowNode  =  objXMLDOM.createElement( " row " ' 创建父节点 
None.gif
         Set  objNode  =  objXMLDOM.createElement( " ProductName " ' 创建子节点
None.gif
        objNode.text  =  Rs( " ProductName " )
None.gif        objRowNode.appendChild(objNode)
None.gif  
None.gif        
Set  objNode  =  objXMLDOM.createElement( " UnitPrice " )
None.gif        objNode.text 
=  Rs( " UnitPrice " )
None.gif        objRowNode.appendChild(objNode)
None.gif  
None.gif        
Set  objNode  =  objXMLDOM.createElement( " UnitsInStock " )
None.gif        objNode.text 
=  Rs( " UnitsInStock " )
None.gif        objRowNode.appendChild(objNode)
None.gif  
None.gif        objRootNode.appendChild(objRowNode)
None.gif    Rs.MoveNext:
Loop   ' 循环结束
None.gif
    
None.gif    objXMLDOM.Save 
" D:\MyXMLDoc.xml "   ' 写入XML文件 可以用变量让用户在页面上自定义文件名
None.gif
    Response.Write  " <script>alert('恭喜,写入XML文件成功!');</script>"
None.gif
     Set  objNode  =   Nothing        ' 销毁对象
None.gif
     Set  objRowNode  =   Nothing    ' 销毁对象
None.gif
     Set  objRootNode  =   Nothing   ' 销毁对象
None.gif
End   If
None.gifRs.Close
None.gif
Set  Rs  =   Nothing
None.gif
None.gif
Call  CloseConn()  ' 关闭数据库连接
None.gif

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

转载于:https://www.cnblogs.com/Dicky/archive/2005/03/22/123780.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值