ASP与access数据Word格式文档下载.docx
《ASP与access数据Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《ASP与access数据Word格式文档下载.docx(28页珍藏版)》请在冰豆网上搜索。
rs.Opensession("
),conn,1,1
n=1
'
==================================================================
==============================================================建立excel文件系统
filename=Server.MapPath("
car/CarTable"
&
n&
.xls"
)'
这个是为了方便,新建一个CAR的文件夹,这个可以自己设啦
iffs.FileExists(filename)then'
如果文件存在,覆盖它。
fs.DeleteFile(filename)
endif
setmyfile=fs.CreateTextFile(filename,true)
========================================================================
dimstrLine,responsestr
strLine="
dimwork,j,i
str="
序号|卡号|密码|积分数|金额"
'
这个根据你的access数据表字段设置。
work=split(str,"
|"
j=ubound(work)
i=0
o=0
dowhilenoti>
j
strLine=strLine&
work(i)&
chr(9)
i=i+1
loop
myfile.writelinestrLine
DowhileNotrs.EOF
o=o+1
m=20000
foreachxinrs.Fields
x.value&
chr(9)
ifo>
=m*nthen
n=n+1
这个可以自己设啦
next
rs.MoveNext
rs.Close
setrs=nothing
conn.close
setconn=nothing
setmyfile=nothing
Setfs=Nothing
ExcelPath="
response.Write"
导出成功 "
response.write("
ahref='
&
server.URLEncode(ExcelPath)&
"
>
font=red>
下载<
/font>
/a>
)
%>
ASP常用函数:
getpy()汉字转为拼音
取字段数据每个汉字的拼音首字母
Functiongetpychar(char)
tmp=65536+Asc(char)
If(tmp>
=45217Andtmp<
=45252)Then
getpychar="
A"
ElseIf(tmp>
=45253Andtmp<
=45760)Then
B"
=47761Andtmp<
=46317)Then
C"
=46318Andtmp<
=46825)Then
D"
=46826Andtmp<
=47009)Then
E"
=47010Andtmp<
=47296)Then
F"
=47297Andtmp<
=47613)Then
G"
=47614Andtmp<
=48118)Then
H"
=48119Andtmp<
=49061)Then
J"
=49062Andtmp<
=49323)Then
K"
=49324Andtmp<
=49895)Then
L"
=49896Andtmp<
=50370)Then
M"
=50371Andtmp<
=50613)Then
N"
=50614Andtmp<
=50621)Then
O"
=50622Andtmp<
=50905)Then
P"
=50906Andtmp<
=51386)Then
Q"
=51387Andtmp<
=51445)Then
R"
=51446Andtmp<
=52217)Then
S"
=52218Andtmp<
=52697)Then
T"
=52698Andtmp<
=52979)Then
W"
=52980Andtmp<
=53640)Then
X"
=53689Andtmp<
=54480)Then
Y"
=54481Andtmp<
=62289)Then
Z"
Else'
如果不是中文,则不处理
getpychar=char
EndIf
EndFunction
Functiongetpy(Str)
Fori=1ToLen(Str)
getpy=getpy&
getpychar(Mid(Str,i,1))
Next
程序代码
ASP技巧集锦(官方权威版)-4
更新日期:
2005-02-2310:
13
出处:
微软中国
作者:
技巧9:
进程外的执行将牺牲可靠性
ASP和MTS/COM+都有允许您以可靠性换取性能的配置选项。
当建立和部署应用程序时,应当理解这种交换。
ASP选项
ASP应用程序可以配置为以三种方式之一运行。
在IIS5.0中引入了术语“隔离级”来描述这些选项。
三个隔离级值分别是低、中和高:
低级隔离。
该隔离级在所有版本的IIS中受到支持,并且是最快的。
它在主IIS进程Inetinfo.exe中执行ASP。
如果ASP应用程序崩溃,则IIS也将崩溃。
(要在IIS4.0下重新启动IIS,Web站点管理员需要使用工具,如InetMon,来监视站点,如果服务器失败,将运行批处理文件来重新启动服务器。
而IIS5.0则引入了可靠的重新启动,它将自动重新启动失败的服务器。
中级隔离。
IIS5.0引入了这个新隔离级,它称为进程外的,这是因为ASP运行在IIS进程之外。
在中级隔离中,所有被配置按“中级”运行的ASP应用程序,将共享单个进程空间。
这将减少在一个服务器上运行多个进程外的ASP应用程序所需的进程数。
中级是IIS5.0中默认的隔离级。
高级隔离。
在IIS4.0和IIS5.0中受到支持,高级隔离也是进程外的。
如果ASP崩溃,则Web服务器并不崩溃。
ASP应用程序将在下一个ASP请求时自动重新启动。
使用高级隔离,每个被配置为按高级运行的ASP应用程序,将在其自己的进程空间中运行。
这样可以保护ASP应用程序彼此不受干扰。
它的缺点是它需要为每个ASP应用程序建立独立的进程。
当需要在一个服务器上主持十多个应用程序时,会增加很多开销。
那么,哪个选项是最好的呢?
在IIS4.0中,运行进程外的应用程序会极大地影响性能。
在IIS5.0中,做了许多工作,使得进程外运行ASP应用程序对性能产生的影响降到了最低。
实际上,在大多数测试中,在IIS5.0中的ASP进程外应用程序,要比IIS4.0中的进程内应用程序运行得更快。
无论如何,进程内(低隔离级)在两种平台上仍然产生了最好的性能。
但是,如果您的命中率相对较低或最大吞吐量较低,选择低隔离级不会有太大的好处。
所以,除非您需要每个Web服务器每秒处理数百或数千个页面,否则没有必要选择低隔离级。
同样,应当测试多种配置并判断哪种情形最适合您。
注意:
当您进程外运行ASP应用程序(中级或高级隔离)时,则在NT4上它们将运行在MTS中,而在Windows2000上它们将运行在COM+中。
即,在NT4上它们运行在Mtx.exe中,而在Windows2000上它们运行在DllHost.exe中。
在“任务管理器”中,您可以看见这些正在运行的进程。
还可以看见IIS如何为进程外的ASP应用程序配置MTS程序包或COM+应用程序。
COM选项
COM组件也有三个配置选项,虽然与ASP选项不完全相似。
COM组件可以被:
“不配置”、配置为“库应用程序”或配置为“服务器应用程序”。
“不配置”是指不向COM+注册组件。
组件将运行在调用者的进程空间,就是说,它们是“进程中”的。
“库应用程序”也是进程中的,但受惠于COM+的服务,包括安全性、事务和环境支持。
“服务器应用程序”被配置为在其自己的进程空间中运行。
您可能看到,不配置的组件比库应用程序优点稍微多些。
您还可能看到“库应用程序”比“服务器应用程序”有很大的性能优点。
这是因为“库应用程序”与ASP运行在同一个进程中,而“服务器应用程序”则运行在自己的进程中。
内部进程调用的开销要比进程内调用的开销大得多。
而且,当在进程之间传递数据(如记录集)时,必须在两个进程之间复制所有的数据。
缺点!
当使用“COM服务器应用程序”时,如果要在ASP和COM之间传递对象,请确保对象实现“按值汇集”,即MBV。
实现MBV的对象将其自身从一个进程复制到另一个进程。
这比另一种方式好,在另一种方式中,对象留在创建它的进程中,而其他进程则重复调用创建使用该对象的进程。
被断开连接的ADO记录集将是按值汇集的,已连接的记录集则不是。
Scripting.Dictionary并不实现MBV,不会在进程之间传递。
最后,要另外告诉VB程序员的是:
MBV不是通过传递参数ByVal获得的。
MBV是由原始组件创作者实现的。
怎么办?
如果您想要以性能与可靠性的合理交换来完成您的配置,我们的推荐如下:
在IIS4.0上,使用ASP的低隔离级别,并使用“MTS服务器包”。
在IIS5.0上,使用ASP的中隔离级别,并使用“COM+库应用程序”。
这些是很一般的准则;
通常让公司以中或高隔离级别运行ASP,而单一目的的Web服务器可运行于低隔离级别。
请权衡折中并自行决定满足需求的配置。
技巧10:
显式使用选项
在.asp文件中显式使用选项Explicit。
置于.asp文件开头的这一指令,强制开发人员声明所有要使用的变量。
许多开发人员认为这有助于调试应用程序,因为它避免了错误键入变量名称而不经意地新建变量(例如,MyXLMString=...而非MyXMLString=)。
也许更重要的是,声明的变量比未声明的变量快。
实际上,脚本运行时,在每次使用未声明变量时按照名称引用。
而声明的变量,在编译或运行时分配了序号。
这样,声明的变量按照该序号引用。
由于选项Explicit强制变量声明,因此保证声明了所有变量而实现快速访问。
技巧11:
在子例程和函数中使用局部变量
局部变量是在子例程和函数中声明的变量。
在子例程和函数中,局部变量访问要快于全局变量访问。
使用局部变量还可以使代码更加清晰,因此尽可能使用局部变量。
技巧12:
将常用数据复制到脚本变量
在ASP中访问COM时,应该将常用的对象数据复制到脚本变量中。
这将削减COM方法的调用,COM方法的调用与访问脚本变量相比,要相对昂贵些。
在访问Collection和Dictionary对象时,这一技术也可以削减了昂贵的查找。
通常,如果打算多次访问对象数据,请将数据放入脚本变量。
该优化的主要目标是Request变量(Form和QueryString变量)。
例如,您的站点可能传递一个名为UserID的QueryString。
假定该UserID变量要在特定页中引用12次。
请不要调用Request("
UserID"
)12次,而在ASP页的开头将UserID赋予某个变量。
然后就在页中使用该变量。
这将节省11次COM方法调用。
在实际中,访问COM属性或方法暗藏着繁复的过程和大量的开销。
下面是一个示例,它只是些相当普通的代码(从语法上讲):
Foo.bar.blah.baz=Foo.bar.blah.qaz
(1)
IfFoo.bar.blah.zaq=Foo.bar.blah.abcThen'
...
在运行这段代码时,将发生下列事件:
变量Foo被解析为全局变量。
变量bar被解析为Foo.的成员。
这将产生COM方法调用。
变量blah被解析为Foo.bar的成员。
这也将产生COM方法调用。
变量qaz被解析为foo.bar.blah的成员。
是的,这也将产生COM方法调用。
调用Foo.bar.blah.quaz
(1)。
又一次产生COM方法调用。
理解这幅图了吗?
执行步骤1到3将再次解析baz。
系统不知道调用qaz是否更改对象模型,因此步骤1到3必须再次执行解析baz。
将baz解析为Foo.bar.blah的成员。
进行属性置入。
再次执行步骤1到3并解析zaq。
再次执行步骤1到3并解析abc。
正如所见,这是非常可怕的低效率(而且非常慢)。
用VBScript编写该代码实现的快速方法为:
Setmyobj=Foo.bar.blah'
对blah做一次解析
Myobj.baz=myobj.qaz
(1)
IfMyobj.zaq=Myobj.abcThen'
...
如果您使用的是VBScript5.0或更高版本,则可用With语句来写这段代码:
WithFoo.bar.blah
.baz=.qaz
(1)
If.zaq=.abcThen'
...
EndWith
请注意该技巧对VB编程同样有效。
ASP架设:
给每个IIS站点建立一个用户
2007-10-2522:
17
木子屋
dnawo
木子屋地址:
一、这样配置的好处?
不知大家有没有听过旁注?
我简单的解释一下吧:
有个人想黑掉A站点,但找来找去都没发现可利用的漏洞,无意中他发现与A同服务器上还有个B站点,并且在B站点上找到了可利用的漏洞,于是他将木马从B站中上传至服务器,如果服务器权限配置不当,那么现在他就可以黑掉服务器上的所有站点了!
如果我们为每个站点都建立一个用户,并设置该用户只有访问本站点的权限,那么就能将访问权限控制在每个站点文件夹内,旁注问题也就解决了。
二、准备工作
1.
运行环境:
Win2K
服务器版
+
IIS
5.0
2.
文件系统:
各分区文件系统为NTFS
3.
站点文件夹:
E盘下建立两个文件夹web001和web002
4.
新建站点:
IIS中新建两个站点web001和web002,站点文件夹分别为E:
\web001和E:
\web002,都指定IP为192.168.0.146,端口分别为101和102
OK,在IE中分别输入http:
//192.168.0.146:
101和http:
102测试两站点是否建立成功。
三、配置过程
1.建立用户组和用户
新建一用户组webs,以后所有站点用户全部隶属于该组,以便于权限分配。
建立用户web01,注意要钩选"
密码永不过期"
(否则背后会出现"
HTTP
401.1
-
未授权:
登录失败"
),并设置其只隶属于webs用户组。
同样在建一个用户web02。
2.各分区NTFS权限设置
打开各分区的安全选项卡依次给各分区授于administrator和system完全控制权限,并设置webs组完全拒绝权限。
3.站点文件夹NTFS权限设置
打开E:
\web01文件夹属性窗口,选择安全选项卡,先去掉"
允许将来自父系的可继承权限传播给该对象"
前的钩