用split拆分字符串时出错,错在哪??
fileanme字段是一组图片的名字,如:]a.gif]b.gif]c.gif]d.jpg]
现想将图片拆分出来,但出错,错在这:
fz=split(rs_p("filename"),"]")
for i=0 to ubound(fz)
源程序如下:
<!-- #include file="connection.asp" -->
<!-- #include file="Std.asp" -->
<%
set rs_p=myconn.execute("select distinct num, filename from tabcard where mem like '%加印%'")
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#CAFFEE" text="#000000">
<table width="550" border="1" cellspacing="0" cellpadding="0" align="center" bgcolor="#ccffcc" bordercolor="#00CC00">
<%
do while not rs_p.eof
%>
<tr>
<td width="510" nowrap>
<%
fz=split(rs_p("filename"),"]")
for i=0 to ubound(fz)
response.write (fz(i)&" ")
if i mod 2=0 then
response.write ("<br>")
end if
next
%>
</td>
</tr>
<%
rs_p.movenext
loop
%>
</table>
</body>
</html>
问题点数:20、回复次数:14Top
1 楼twtetgso(*学习再学习*)回复于 2003-09-03 12:00:44 得分 0
说是运行时错误,但我并没有用option explicit,在另一个程序中好用,拷到这就不行了,
在
fz=split(rs_p("filename"),"]")
for i=0 to ubound(fz)
前面加上
response.write (rs_p("filename"))
response.end
确实有内容显示,但一拆分就不行了,问题在哪?Top
2 楼cqfeng()回复于 2003-09-03 12:02:24 得分 0
fileanme? filename?Top
3 楼cqfeng()回复于 2003-09-03 12:04:08 得分 14
try:
fz=split(trim(rs_p("filename")),"]")
看上去没什么问题Top
4 楼twtetgso(*学习再学习*)回复于 2003-09-03 12:05:47 得分 0
filename是数据库中存放图片的字段的字段名。Top
5 楼CKite(风筝)回复于 2003-09-03 12:06:28 得分 4
Set fz=split(rs_p("filename"),"]")Top
6 楼twtetgso(*学习再学习*)回复于 2003-09-03 12:07:52 得分 0
我试了fz=split(trim(rs_p("filename")),"]")
但还是不行,说是
Microsoft VBScript 运行时错误 (0x800A005E)
就是fz=split(rs_p("filename"),"]")这一行Top
7 楼twtetgso(*学习再学习*)回复于 2003-09-03 12:11:26 得分 0
加上set也不行,要命的是这个程序在一个系统中运行正常,在另两人系统中运行就出错,而这三个系统是相似的,且在一台机器上。Top
8 楼Brookes(边走边唱)回复于 2003-09-03 12:13:35 得分 0
程序没有问题,查查其他原因Top
9 楼twtetgso(*学习再学习*)回复于 2003-09-03 12:17:42 得分 0
其它不能有问题吧。能从数据库中得到数据,只有拆分时才出错Top
10 楼cqfeng()回复于 2003-09-03 12:19:01 得分 0
既然在别的机子上都是好的,就不是代码的问题Top
11 楼twtetgso(*学习再学习*)回复于 2003-09-03 12:20:30 得分 0
不是,是在我自己的机器上,能用一个,但其它两个都不好用,程序是一样的。Top
12 楼twtetgso(*学习再学习*)回复于 2003-09-03 12:36:58 得分 0
重启了也不行Top
13 楼baterhome(阿up)回复于 2003-09-03 13:23:33 得分 2
split(str,"]")中,由于str最后一个字符是“]”,故""也算了一个fz()数组的内容
解决方法:
for i=0 to ubound(fz)-1
trytry看吧Top
14 楼twtetgso(*学习再学习*)回复于 2003-09-03 13:46:03 得分 0
问题找到了,原来是一个用户没有上传图片,结果filename中有一空记录,set rs_p=myconn.execute("select distinct num, filename from tabcard where mem like '%加印%' and filename<>''")
就好了,谢谢大家,10分钟后结贴
Top



