快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

用ASP将数据转为XML文件下载

  前一段日子在用ASP开发PDM系统.系统开发就涉及一些数据导入导出的程序!开始自己试过写成了CSV格式的导入导出程序.效果也不错,不过仍不满意,因为有些数据用CSV无法满意,比如有数据库中含有多个","号.就没办法了.求助了一些参考书,呵呵,终于找到了更方便的方式,就是用XML 导入导出数据库了!现在就把代码贴出,与大家分享!呵呵

  总共需要三个文件:

conn.asp用于数据库连接!

download.asp下载页面

data_to_xml.asp转数据页面

文件名:

data_to_xml.asp

-----------------------------------------------

<!--#include file="download.asp"-->
<!--#include file="conn.asp"-->
<%

set rs=server.CreateObject("adodb.recordset")
set fso=server.CreateObject("Scripting.FileSystemObject")
\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'
xml_filepath=root_path & "loadfilefile_class.xml"
\\\'用SQL查出要导出的数据!
sql="select * from file_class"
rs.open sql,conn,1,3
if fso.fileexists(xml_filepath) then
fso.deletefile xml_filepath
end if
rs.save xml_filepath,1
\\\'\\\'----------------------------------------------
call transferfile(xml_filepath,"file_class.xml")

response.end
%>

conn.asp

-----------------------------------------------

<%
db_path=root_path & "datasyste_@k#ksks.asa"
\\\'response.write db_path
\\\'response.end
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db_path
\\\'假如你的服务器采用较老版本Access驱动,请用下面连接方式
\\\'connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & db_path
conn.Open connstr
%>

download.asp

------------------------------------------------------
<%
\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'
\\\'\\\' 文档作用:下载组件
\\\'\\\' 创建时间:2005-8-19
\\\'\\\' 修改情况:
\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'
const forreading=1
const tristatetrue=-1
const file_transfer_size=16384
response.Buffer=true
\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'
\\\'\\\' 用于文件下载!
\\\'\\\' f_path:文件的绝对路径,f_filename:要保存的文件名
\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'\\\'
function transferfile(f_path,f_filename)
dim path,mimetype,filename
dim objfilesystem,objfile,objstream
dim char
dim sent
path=f_path
filename=f_filename
send=0
transferfile=true
set objfilesystem=server.CreateObject("scripting.filesystemobject")
set objfile=objfilesystem.getfile(path)
mimetype=objfile.type
set objstream=objfile.openastextstream(forreading,tristatetrue)
response.AddHeader "content-disposition","attachment;filename=" & filename
response.AddHeader "content-length",objfile.size
do while not objstream.atendofstream
char = objstream.read(1)
response.BinaryWrite(char)
sent=sent+1
if(sent mod file_transfer_size)=0 then
response.Flush()
if not response.IsClientConnected then
transferfile=false
exit do
end if
end if
loop
response.flush
if not response.IsClientConnected then transferfile=false
objstream.close
set objstream=nothing
set objfilesystem=nothing
end function
%>
返回类别: 教程
上一教程: ASP调试存储过程
下一教程: 仿照CHINAASP论坛中TOP10写的部分显示代码

您可以阅读与"用ASP将数据转为XML文件下载"相关的教程:
· ASP和C#隐藏文件下载路径的方式
· 把HTML表单提交的数据转化成XML文件
· 如何用ASP把SQL SERVER数据转化为EXECL文件
· ASP取动态表单中数据并写入XML文件,用XSL显示
· ASP中查询数据库记录写入XML文件示例
    微笑服务 优质保证 索取样品