在ASP中使用Dictionary对象遇到的一个问题
作者:夜空寂灭 日期:2008-09-16
今天尝试使用了Dictionary对象,
Dim zjz
Set zjz = CreateObject("Scripting.Dictionary")
可是测试时总是提示错误:
错误类型:
ADODB.Field (0x80020009)
对象不再有效。
更改了很多次,试了很多方法,但还是不行。原来,问题在于rs对象中……
原因是Dictionary.Add方法可以将对象加入字典中;
而rs("psz_name")本身是Recordet对象;
Recordet对象的value属性是默认的属性,一般可以不写;
当response.Write rs("psz_name")或 xx= rs("psz_name")的时候
实际上编译器默认使用了 response.Write rs("psz_name").value或 xx = rs("psz_name").value
但当参数可以接受Variant类型时要根据需要指明是存放对象还是他的默认属性。
所以应该用 zjz.Add Cint(rszjz("psz_id").Value), rszjz("psz_name").Value
如果用 zjz.Add Cint(rszjz("psz_id")), rszjz("psz_name")
则在显示的时候要保证:
1、记录集未被关闭
2、光标在当前记录
评论: 1 | 引用: 0 | 查看次数: 618
回复
]正解啊,正解,我用session对象也出现这个问题,session(“”)=rs(“”)就不行,用session(“”)=rs(“”).value就可以
发表评论
页面用力 o>﹏<o 加载中...
上一篇
下一篇


文章来自:
Tags: 

