简单问题再提问,好心人帮改一下,转不变来了~~
if cname <> " " then
if isno = "1 " then
cname = " ' " & cname & " ' "
elseif isno = "2 " then
'--------------------这是问题的开始
dim sql2,rs2
sql2= "select gsid from duizhaobiao where zyid= "&cname& " "
set rs2=server.createobject( "adodb.recordset ")
set rs2=conn.execute(sql2)
do while not rs2.eof or not rs2.bof
cname=rs2( "gsid ")& ", "
rs2.movenext
loop
response.write cname
end if
'------------------这是问题的结束
else
if range = "0 " or range = " " then
cname = "default "
else
cname = " ' " & range & " ' "
end if
end if
------------------------------
上面的判断最终的目的是取出一个值,作为cname的值,然后会把这个值传给一个存储过程执行出结果,现在基本实现了目的,我在上面标示出有问题的部份就是:
当isno= "2 "时,
需要用到一个语句sql2= "select gsid from duizhaobiao where zyid= "&cname& " "
这个语句执行出来的结果是这个样子的:
gsid
------
255
365
487
而我需要把这个结果转化成如下的样式:
cname = '255,365,487 '
也就是变成存储过程可以接收的样式,可是上面的写法我总感觉有问题,并且实际测试的时侯也真的有问题,但现在一点儿心思都没有办法放在这儿,请好心人再看看,帮写一下~~
------解决方案--------------------建议赋值cname用另一个名称代替
Dim newName
sql2= "select gsid from duizhaobiao where zyid= "&cname& " "
set rs2=conn.execute(sql2)
If Not rs2.Eof Then
newName= strRs.GetString(,,, ", ", " ") '取出ID,用,分开
End If
'删除最后的逗号
If newName <> " " Then newName = Mid(newName, 1, Len(newName)-1)
'添加单引号
newName = " ' " & newName & " ' "
.....
------解决方案--------------------开始
cname= " "
循环里边用
cname=cname&rs2( "gsid ")& ", "
然后循环后边用 ljupin(蓝眼泪.NET ---> I come from Ningxia of China)的方法删除逗号加单引号
不知道可不可以