今天使用ASP编写了一个函数,本想利用函数返回一个RecordSet,却出现了如下错误
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft VBScript 运行时错误 错误 '800a01c2'
错误的参数个数或无效的参数属性值
看了它的提示,我是一头雾水,因为从它给的提示,我找不到一点线索,甚至我觉得他给的提示和我本身的语句毫不相关。
不过经过分析,我发现原来是函数返回时候写错了。函数返回基本数据类型时可以直接赋值,而当函数要返回一个对象时,则必须使用Set。
总之,对象的赋值必须是set 变量名 = 对象。
错误代码
public function executeQuery( sql )
executeQuery = conn.execute( sql )
end function
'调用
dim rs
rs = executeQuery("select * from [Student]")
正确代码
public function executeQuery( sql )
set executeQuery = conn.execute( sql )
end function
'调用
dim rs
set rs = executeQuery("select * from [Student]")
注意:此错误的出现有很多情况,以上仅是我遇到的比较怪异的一种,希望能给您带来帮助。
CoffeeCat
2007年3月8日