奇怪问题,有关函数split

wanghui0380 不想填 技术经理  2002-07-25 09:35:41
我今天遇到一个奇怪的问题,请看下面(具体代码我就不详写了,只写关键过程)
rs.open
while not rs.eof
a=rs("productlist") //proudctlist是一个数组表象‘222’,‘333’这样的.写购物车的人应该很熟的
a=split(a,",")
for i=0 to ubound(a)
rs2.open//sql语句为select * form xxx where proudctname=a(i)
reponse.write rs2("proudctname")
rs.close
next
rs.movenext
wend
调试情况是这样的rs ,rs2单独打开都无问题,证明sql语句无问题,将while循环注释掉
程序运行无误,但加上while循环后,a=split(a,",")无法运行(错误原因程序运行期错误),我的猜想是rs.movenext后a的类型不符,于是用中间量b,程序为
b=split(a,",") sql语句相应改为select * form xxx where proudctname=b(i),结果仍然无法运行,不知是什么原因,请各位高手帮帮忙拉!谢谢



...全文
17 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
foglee 2002-07-26
a必须是以","为间隔的字符串,例如"11,22,33,44,55"。你的那个a是什么形式啊?
回复
wanghui0380 2002-07-26
呵呵,谢谢楼上的各位兄弟拉,今天我仔细检查了我的代码,发现代码本身并没有语法和逻辑上的错误,与是有看了数据库结果发现有人将我数据库中的productname字段删了,哎,真是害死我了
回复
cmsoft 2002-07-25
的确我是错了……,没看清楚!
回复
ehom 2002-07-25
select * form xxx where proudctname=a(i)也不对
字符串要加引号!
如:
sql="select * form xxx where proudctname='"&b(i)&"'"

如果数据库里是数字,要加上clng()
如:
c=clng(b(i))
sql="select * form xxx where proudctname="&c
回复
ehom 2002-07-25
for i=0 to ubound(a)-1
把对的改错了!^_^
回复
cmsoft 2002-07-25
for i=0 to ubound(a)-1
回复
ehom 2002-07-25
b=split(a,",")就他错,要求a为字符串,而非数组!
回复
wanghui0380 2002-07-25
上面程序笔误,for循环内rs.close应该是rs2.close
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告