仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 752|回复: 9
打印 上一主题 下一主题

[学习教程] ASP教程之数据库导出xml、htm、csv、sql

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:13:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。xml|导出xml|数据|数据库<!--#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*from[table]where......."
Response.end
endif
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&"<![CDATA["&x.value&"]]>"
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&"
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;
爱飞 该用户已被删除
沙发
发表于 2015-1-20 08:25:40 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
山那边是海 该用户已被删除
板凳
发表于 2015-1-26 19:45:19 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
地板
发表于 2015-1-29 19:32:12 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
蒙在股里 该用户已被删除
5#
发表于 2015-2-6 03:34:13 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
活着的死人 该用户已被删除
6#
发表于 2015-2-15 11:08:55 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-4 11:25:41 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
若相依 该用户已被删除
8#
发表于 2015-3-11 19:01:13 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
因胸联盟 该用户已被删除
9#
发表于 2015-3-19 08:42:27 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
莫相离 该用户已被删除
10#
发表于 2015-3-27 16:00:06 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 00:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表