怪哉!select * from db1 where name=a 和 select name from db1!
建立一个数据集合rsado1。
然后rsado1.open“select * from db1 where name=a”
rsado1(0),rsado1(1),rsado1(2),rsado1(3),rsado1(4)……
都可以用,可以显示。
建立一个数据集合rsado2。
然后rsado2.open“select name from db1”
只有rsado(0)可以使用,可以显示,后面的rsado(1),rsado(2),rsado(3),rsado(4)……都不可以使用,报错信息是:在对应所需名称或序数的集合中,未找到项目。
也就是说,本来我想用“select name from db1”把所有的name都列出来,可是现在的情况是我只能列出数据库里的第一个name。
请问该怎么办?大虾们,帮帮我吧,急死了啊,哪有这样的事情啊?
告诉我把所有的name都列出来应该怎么办?
问题点数:40、回复次数:4Top
1 楼qffhq(qffhq)回复于 2003-05-02 14:33:30 得分 15
rsado(0)为第一条记录,用rsado2.MoveNext移动到第二条,后取rsado(0),为第二条,....
rsado(0)为按列方式取记录,每次只取当前行,行的移动用.MoveFirst,MoveNext...
为什么这么长时间没人回答?Top
2 楼likesome(梦龙)回复于 2003-05-02 15:05:06 得分 10
你对Rs理解有误
select * from db1
rsado1(0),rsado1(1),rsado1(2),rsado1(3),rsado1(4)……
表示的是某一条记录的各个字段的值
等同于rsado1("id"),rsadk1("name")
select name from db1,仅是指取一个name,rs(0)
取所有的行是要用rsado1.movenext来进行,如楼上所说
Top
3 楼flyingworm(修心的胖胖)回复于 2003-05-02 15:37:36 得分 15
up ,楼上两位回答完毕。来晚了。只好写代码了。
dim mytmp as integer
mytmp=rsado1.recordcount
dim namearr(mytmp) as string '保存name的数组
rsado1.movefirst
for mytmp=0 to rsado1.recordcount-1
namearr(mytmp)=rsado.field(0).value
rsado1.movenext
next mytmp
Top
4 楼fuzzylogic100(茧子)回复于 2003-05-02 18:11:02 得分 0
非常感谢各位大虾,这是听君一席话胜读十年书阿,谢谢啦~~~~~~~~~~~~~~Top




