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

怎么快速获取记录集中的某个字段的数据组合成的数组

2013-09-07 
如何快速获取记录集中的某个字段的数据组合成的数组如何快速获取记录集中的某个字段的数据组合成的数组比

如何快速获取记录集中的某个字段的数据组合成的数组
如何快速获取记录集中的某个字段的数据组合成的数组

比如
[表]
ID  姓名 性别
我想把记录集的ID 组成一个数组 供以后的程序使用

我目前的代码是这样的: 会不会很土啊???
sql="select ID from 表 where ...."
rs.open.........
do while not rs.eof
    itemid=rs("ID")
    if idstring="" then
        idstring=itemid
    else
        idstring=idstring&"|"&itemid
    end if 
    rs.movenext
loop

shuzu=split(idstring,"|")   '我的目的是得到这个数组


有没有更好的方法?



[解决办法]
直接给数组不可以吗
[解决办法]

引用:
必须要从数据库 读取啊
但没必要拼成字符串再分隔成数组呀,直接装进数组不得了
[解决办法]
good!!!!!!!!!!
[解决办法]
楼主,也有别的方法,就是可以试试把sql文改一下,比如说你用的数据库是SQL server的话,可以用For XML Path()这种语法,
查出来的数据像这样
ID
----------------------
001,002,003,004
----------------------
然后在split(',').
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

必须要从数据库 读取啊
但没必要拼成字符串再分隔成数组呀,直接装进数组不得了


不拼成字符串,动态增加数组长度。?

re:
对呀,ReDim Preserve MyArray(增加元素数量),你的不用这么麻烦,只要结果集出来了,就已经知道有多少元素了:
dim myArray(rs.recordCount)
dim i:i=0
do while not rs.eof
    myArray(i)=rs("ID")
    i=i+1
    rs.movenext
loop


另外, 不管怎样 都是要遍历记录集?
re:
对,结果集是一个对象实例,array在vbscript只是一个结构,两者不能划等号
[解决办法]
引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

必须要从数据库 读取啊
但没必要拼成字符串再分隔成数组呀,直接装进数组不得了


不拼成字符串,动态增加数组长度。?

re:
对呀,ReDim Preserve MyArray(增加元素数量),你的不用这么麻烦,只要结果集出来了,就已经知道有多少元素了:

[解决办法]
 用ado rs.getrows 方法最快。

热点排行