我在dll里写个这个是adodb.recordset类型的,也是公有的,程序如果下:
Public Function whhrs(sqlstr As String) As adodb.Recordset
Dim myconn As adodb.Connection
Dim myrs As adodb.Recordset
Dim myconnstr As String
Set myconn = New adodb.Connection
Set myrs = New adodb.Recordset
myconnstr = "driver={sql server};server=whh;database=sar;uid=sar;pwd=sarwhh;"
myconn.Open myconnstr
myrs.ActiveConnection = myconn
myrs.Open sqlstr, myconn
Set whhrs = myrs
End Function
怎么我在访问时老是出现以下错误:
"icrosoft VBScript 运行时错误 错误 '800a000d'
类型不匹配: 'whhrs'
/inc/dll/dll/test.asp,行12 "
而我在我的test.asp里是这样访问的:
set conndll=server.createobject("kinghuhua.sunsoavatar"
sqlstr="select * from prod"
set rs1=conndll.whhrs(sqlstr)
我以为是我的whhrs的类型错了,我改了几次,一次没有类型,一次是variant,一次是recordset都不行,我在dll里又申明了一个公有变量,想通过那个把rs传出来,可是我是访问时用的是:conndll.公有变量明,可是这样访问也会出错,错误是对象没有此属性或方法
请您回答一下,谢谢!!