首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

DLL中的多个数组怎么传递到ASP中

2012-01-24 
DLL中的多个数组如何传递到ASP中?数据表中有id,name,price等多个字段,这里按照3个字段举例我在vb中写了以

DLL中的多个数组如何传递到ASP中?
数据表中有   id,   name,   price等多个字段,这里按照3个字段举例

我在vb中写了以下这个SUB
Public   SUB   pro()
    Dim   id()   As   Variant,   sname()   As   Variant,   price()   As   Variant
    此处搜索数据库得出多条记录。掠过代码
    i   =   0
    Do   While   Not   rs.EOF   And   (i   <   rs.pagesize)
            i   =   i   +   1
            ReDim   Preserve   id(i),   sname(i),   price(i)
            id(i)   =   rs( "id ")
            Response.Write   rs( "id ")   &   " <br> "  
            sname(i)   =   rs( "name ")
            price(i)   =   rs( "price ")
            rs.MoveNext

            Loop
            rs.Close
end   sub

然后ASP直接调用
classname.pro
response.write   id(1)
能看到程序中   Response.Write   rs( "id ")   &   " <br> "   这句执行了,列出了所有ID。所以应该没问题的。
可是执行到response.write   id(1)就出错了。证明ID()这个数组变量没传递出DLL。
但是以上代码如全部在ASP中执行是没问题的。在DLL里就不能传出来了。

请教该怎么写才能获得数组的数据?
别说单个数组的那种,那种我会。现在是多个数组的值传出的问题。
并且不知道这种写法的性能如何?以及有没更好的写法也行。只要能把结果集传出ASP。


[解决办法]
dll内的变量只在DLL内可以传递。要在ASP中使用,只能用返回值的方式。
[解决办法]
private aryA() as variant

public property get A() as variant()
A = aryA
end property 

public function funA() 
......
......
aryA() = RS.GetRows(lngN) 'RS: recordset 
......
......
end function

热点排行