谁可相欹 发表于 2015-1-16 22:49:05

ASP网站制作之asp将数据库纪录导出xml、htm、csv、sq...

缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。xml|导出xml|数据|数据库数据库导出xml、htm、csv、sql代码
用法:ExportDB.asp?sql=select语句&table=表名(可选)&filetype=导特别式(xml,htm,csv,sql)&pid=主动编号字段名(仅当导出sql范例时有效)
2004-8-11更新
<!--#includefile=../conn.asp-->
<%
数据库导出纪录代码
作者海娃,haiwa#blueidea.com,http://www.51windows.Net
用法:
ExportDB.asp?sql=select语句&tablename=表名(可选)&filetype=导特别式(xml,htm,csv,sql)&pid=主动编号字段名(仅当导出sql范例时有效)
dimtablename,filetype,fieldPid
sql=request("sql")
tablename=request("tablename")
filetype=lcase(request("filetype"))
fieldPid=request("pid")
iffieldPid=""then
fieldPid="id"
endif
fieldPid=lcase(fieldPid)
iflcase(left(sql,6))"select"then
Response.write"sql语句必需为select*fromwhere......."
Response.end
endif
<p>iftablename=""then
tablename="数据导出了局"
endif
functionHTMLEncode(fString)
ifnotisnull(fString)then
fString=Server.HTMLEncode(fString)
fString=Replace(fString,CHR(10)&CHR(10),"</P><P>")
fString=Replace(fString,CHR(10),"<BR>")
fString=Replace(fString,CHR(9),"")
HTMLEncode=fString
endif
endfunction
functionMyreplace(str)
ifnotisnull(str)then
fString=Replace(fString,"""","""""")
Myreplace=str
else
Myreplace=""
endif
endfunction
functionMyreplace2(str)
ifnotisnull(str)then
fString=Replace(fString,"","")
Myreplace2=str
else
Myreplace2=""
endif
endfunction
dimdef_export_sep,def_export_val
def_export_sep=","
def_export_val=""""
Setrs=Conn.Execute(sql)
导出XML文件
iffiletype="xml"then
Response.contenttype="text/xml"
Response.Charset="gb2312"
Response.AddHeader"Content-Disposition","attachment;filename="&tablename&".xml"
Response.write"<?xmlversion=""1.0""encoding=""gb2312""?>"&vbnewline
Response.write"<root>"
strLine=""
dimthefield(50)
i=0
Foreachxinrs.fields
thefield(i)=x.name
i=i+1
Next
Whilers.EOF=false
strLine=vbnewline&chr(9)&"<row>"
k=0
Foreachxinrs.fields
strLine=strLine&vbnewline&chr(9)&chr(9)&"<"&thefield(k)&">"
ifinstr(x.value,"<")>0orinstr(x.value,">")>0orinstr(x.value,"&")>0orlen(x.value)>255then
strLine=strLine&"<!]>"
else
strLine=strLine&x.value
endif
strLine=strLine&"</"&thefield(k)&">"
k=k+1
Next
rs.MoveNext
Response.writestrLine&vbnewline&chr(9)&"</row>"
Wend
Response.writevbnewline&"</root>"
导出sql文件
elseiffiletype="sql"then
Response.contenttype="text/sql"
Response.AddHeader"Content-Disposition","attachment;filename="&tablename&".sql"
strLine=""
dimsql_insert
Foreachxinrs.fields
iflcase(x.name)fieldPidthen假如是主动编号
strLine=strLine&def_export_val&x.name&def_export_val&def_export_sep
endif
Next
strLine=replace(left(strLine,len(strLine)-1),"""","")
strLine="insertinto["&tablename&"]("&strLine&")values"
sql_insert=strLine
Response.writestrLine&vbnewline
response.end
Whilers.EOF=false
strLine=""
def_export_val=""
Foreachxinrs.fields
iflcase(x.name)fieldPidthen
2004-8-11更新Null值时没法导出的bug。
x_value=x.value
ifisnull(x_value)orlen(x_value)=0then
x_value=""
else
x_value=replace(x_value,"","")
endif
strLine=strLine&def_export_val&x_value&def_export_val&def_export_sep
endif
Next
rs.MoveNext
strLine=left(strLine,len(strLine)-1)
Response.writesql_insert&"("&strLine&")*"&vbnewline
Wend
elseiffiletype="csv"then
Response.contenttype="text/csv"
Response.AddHeader"Content-Disposition","attachment;filename="&tablename&".csv"
strLine=""
Foreachxinrs.fields
strLine=strLine&def_export_val&x.name&def_export_val&def_export_sep
Next
Response.writestrLine&vbnewline
Whilers.EOF=false
strLine=""
Foreachxinrs.fields
strLine=strLine&def_export_val&Myreplace(x.value)&def_export_val&def_export_sep
Next
rs.MoveNext
Response.writestrLine&vbnewline
Wend
else
iffiletype="htm"then弹出下载html的对话框
Response.contenttype="application/ms-download"
Response.AddHeader"Content-Disposition","attachment;filename="&tablename&".htm"
endif
%>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<METANAME="Author"CONTENT="51windows,海娃,haiwa">
<METANAME="Description"CONTENT="Powerby51windows.Net">
<title>导出数据-www.51windows.Net</title>
<style>
<!--
body,input,select{font-family:Tahoma;font-size:8pt}
th{font-family:Tahoma;font-size:8pt;padding:3px;color:#FFFFFF;background-color:#999999;}
td{font-family:Tahoma;font-size:8pt;padding:3px;background-color:#EFEFEF;}
-->
</style>
</head>
<BODYstyle="overflow:auto;"topmargin=2bgcolor=buttonface>
<formmethod="post"name=myform>
SQL:<inputtype="text"name="sql"value="<%=sql%>">
表名:<inputtype="text"name="tablename"value="<%=tablename%>"size="8">
导特别式:<selectsize="1"name="filetype">
<optionvalue="">请选择</option>
<option<%iffiletype="htm"thenResponse.write"selected"%>value="htm">htm</option>
<option<%iffiletype="xml"thenResponse.write"selected"%>value="xml">xml</option>
<option<%iffiletype="csv"thenResponse.write"selected"%>value="csv">csv</option>
<option<%iffiletype="sql"thenResponse.write"selected"%>value="sql">sql</option>
</select>
主动编号字段名:<inputtype="text"name="pid"value="<%=fieldPid%>"size="8"><inputtype="submit"value="断定">
</form>
<divalign="center">
<tableborder="0"cellpadding="0"cellspacing="1"bgcolor="#000000">
<tr>
<%
i=0
Foreachxinrs.fields
strLine=strLine&chr(9)&chr(9)&"<thalign=""center"">"&x.name&"</th>"&vbnewline
Next
Response.writestrLine&chr(9)&"</tr>"&vbnewline&vbnewline
Whilers.EOF=false
i=i+1
Response.writechr(9)&"<tr>"&vbnewline
strLine=""
Foreachxinrs.fields
strLine=strLine&chr(9)&chr(9)&"<td>"&HTMLEncode(x.value)&"</td>"&vbnewline
Next
rs.MoveNext
Response.writestrLine
Response.writechr(9)&"</tr>"&vbnewline&vbnewline
Wend
Response.write"</table>"&vbnewline
iffiletype"htm"andfiletype"xls"andfiletype"sql"then
Response.write"<pstyle=line-height:160%;>"&i&"笔记录<ahref=?tablename="&tablename&"&pid="&fieldPid&"&filetype=htm&sql="&server.urlencode(sql)&">导出HTML</a>"
Response.write"|<ahref=?tablename="&tablename&"&pid="&fieldPid&"&filetype=csv&sql="&server.urlencode(sql)&">导出EXCEL</a>"
Response.write"|<ahref=?tablename="&tablename&"&pid="&fieldPid&"&filetype=xml&sql="&server.urlencode(sql)&">导出XML</a>"
Response.write"|<ahref=?tablename="&tablename&"&pid="&fieldPid&"&filetype=sql&sql="&server.urlencode(sql)&">导出SQL</a>"&vbnewline
endif
Response.write"<p>Powerby<AHREF=""http://www.51windows.Net""target=""_blank"">51windows.Net</A>"&vbnewline
Response.write"</div>"&vbnewline
Response.write"</BODY>"&vbnewline
Response.write"</HTML>"&vbnewline
endif
rs.close
conn.close
Setrs=nothing
Setconn=nothing
%>
ASP是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的工具可是什么都要收钱的啊!

深爱那片海 发表于 2015-1-20 05:06:08

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。

不帅 发表于 2015-1-28 16:09:48

从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了

再现理想 发表于 2015-2-5 22:12:22

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。

仓酷云 发表于 2015-2-13 21:59:25

哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?

灵魂腐蚀 发表于 2015-3-4 01:25:31

运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。

精灵巫婆 发表于 2015-3-11 15:22:56

接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。

海妖 发表于 2015-3-19 01:04:53

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

admin 发表于 2015-3-27 00:11:36

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
页: [1]
查看完整版本: ASP网站制作之asp将数据库纪录导出xml、htm、csv、sq...