在探讨之前,我认为很有必要再补充一些ASP与数据库操作方面的常见问题。这些问题虽然在上例中未见到,却会经常出现在一些ASP
文档中......
···>>> 一些数据处理的情况
或许,你在某些ASP中,还看到如
:
set con=server.createobject("adodb.connection")
con.Mode=2
这样的脚本,这是connection的属性:Mode=2意思是“允许只写权限”。
还有,Recordset的常见方法还有:Open(激活数据)、Close(关闭)、Move(移动指针)、Update(修改数据)、Addnew(增加数据)、Delete(删除数据)、Resync(与服务器数据同步更新的模式)等等。
常见Recordset方法还有Lock,把数据锁闭,不让其他用户同时存取,以上这些方法从字面上就能知道其功能,想必不会过大地为难你吧?!
另外,我们最常看到的还有数据库指针操作方法Bof(数据库记录头部)、Eof(尾部),它们的运用一般是这样的:
if not (rs.EOF and rs.BOF) then
......
end if
但下面这个情况,很可能让你怀疑笔者前面说的内容:
con.execute (
sql)
它是connection对象的一个方法:Execute方法通常运行一个SQL命令,从而直接产生Recordset对象,在这种情况下,你将只读到connection对象的建立,却再也找不到“数据盒子”喽,数据操作运用的脚本特例还有很多,再列举下去恐怕又得让我们“晕”乎起来,咱们还是看看与flash交互的两个方法。
···>>> “Request”及“Response”
相对而言,ASP接受flash的数据比较容易理解,如上例“rs("email")=request("email")”这一句,意思是“数据盒子”rs
中的“email”字段的值=flash中动态文本变量email的值。你看到的ASP与flash结合的范例大致全用这种脚本形式。
那么, Response方法就不那么容易了,记得我曾写过的“flash从外部文本文件接受变量值”中提到过:flash接受的变量值一定得符合MIME标准,比如这里包含3对变量:myvar1="hslk"&;myvar2=count+3&;myvar3="hslk"。各对变量用“&”连结。Response向flash传递信息时一定得符合这个格式。
再有:
<%
Resopnse.Write("你好,老康!")
%>
等同于:
<%=("你好,老康!")%>
后者是你常见到的书写形式!
另外,你肯定常见到浏览器地址栏中出现如“http%3A%2F%2Fwww%2Ehslk%2Ecom”的字符串!其实它是咱“老康蓝屋”的域名啊!这可真正的URL编码格式(URLEncode),它是由如下脚本产生的:
<%
Response.write(server.URLEncode("hslk"))
%>
与此类似的还有“HTMLEncode”方法,这个在ASP程序中会经常遇到,如“Server.HTMLEncode(string)”就是使string不支持
HTML语法编码,我们常遇到留言板支持,或者不支持html语法就可以用此方法设定。
用ASP向flash发送信息时还大量使用html标识哩,我们知道,服务器在处理ASP
文档时,会“极其忠实地对待html标识”!不管
html语句出现在哪里,就是在ASP定界符“<%%>”内照样按html
处理!只有用“HTMLEncode”才能改变服务器的顽固脾气哦!
比如,以下脚本:
<%
Response.Write "
沪上老康向坛友问好!
"
%>
将会以3号大字在浏览器中间显示“沪上老康向坛友问好!”。如果把这个方法用上去,如写成如下:
<%
Response.Write(server.HTMLEncode("
沪上老康向坛友问好!
"))
%>
那么,浏览器将把html标签及文字如实在还原出来了,以上脚本朋友们可一试,以加深理解。
事实上,在ASP中向flash发送信息时,我们常看到在信息中混用html标签,比如,“
”就很方便地使flash中的文本换行了,但是有一条得注意,在flash中必需把动态文本对象的“html”属性设置为“可用”,记得上次我写过flash文本与html格式一文,有朋友说:这个有什么用呢?
现在明白了?flash中的动态文本对象与ASP结合后,其实