补习下ASP

本文讨论了ASP中的类型转换和哈希表使用,包括类型错误导致的问题解决、哈希表保存到应用程序变量可能导致的系统崩溃风险,以及如何在函数间安全传递哈希表值的方法。此外,文章还对比了isnull与isempty的区别,并介绍了ByVal与ByRef的使用,为ASP开发提供了实用的技术指导。

局里急要个重点人口管控系统,找了不少成品,就一个ASP的和我们的70%相仿,就用它改吧!现在补习下ASP

一:关于ASP的类型。

这个问题是由Scripting.dictionary 的使用引起的。

set dic = server.createobject("scripting.dictionary")

set rs = server.createobject("adodb.recordset")

sql = ....

rs.open sql,conn,1,1

for i=1 to rs.recordcount

  dic.item(rs("classid"))=rs("classname")

  rs.movenext

next

if rs.state<> then   //此处对状态的判断,经测试运行准确!

   rs.close

end if

 以上操作 dic 中保存的不是我们想要的值,当比如classid = 21 classname = "派出所".

 

如果在此取值:

dic.item("21")

执行这个语句时,dic会产生一个key = 21 的空值项,说明开始时赋值的类型不对。必须做类型转换:

key1 = rs("classid")

val1 = rs("classname")

dic.item(key1) = val1;

经过上边的类型类型转换,就得到了正确结果。如果你觉得现在ASP有常规的哈希表可用了,别太高兴,网上的文章说,dic保存到appliction变量中会导致系统崩溃。

妈拉个巴子的,ASP就没有正常的数据结构,链表哈希表树这些,都没有内置的,session appliction这样的服务器对象可以当成正常的哈希表正使用吗?除非你用完及时销毁,要不会产生大量垃圾,没有完整的数据结构,导致现在ASP没人用了,也就我今天还拿出来将就用用,也是为了进度没办法。

 

补充:

有办法了,session可以用作正常哈希表在函数间传值使用,这么说是因为找到了及时销毁它的办法:

Session.Contents.remove(key)

这样就把session(key)立即销毁了

if Session("SesName")=Empty  then

      response.write("empty")

     //此句代码经天外来宾验证,执行准确!

end if

http://www.w3school.com.cn/asp/asp_applications.asp

这个学习网站很工整。

 

二、isnull 与 isempty 的区别:

isnull 该变量无效

isempty 该变量指向一个空值

 

三、ByVal 与 ByRef

传值 :ByVal

传指针:ByVal

 

四、set 与 dim

set 构造对象

dim 声明变量

转载于:https://www.cnblogs.com/amituofo/p/4565308.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值