关于asp 的一个奇怪的问题

sql="select*from[product]whereid="&checkid(i)setrs=conn.execute(sql)ifnotrs.eofthenif... sql = "select * from [product] where id="&checkid(i)
set rs = conn.execute(sql)
if not rs.eof then
if rs("smallImg")<>"" then
smallImgs=split(rs("smallImg"),",")
for ii=0 to ubound(smallImgs)
if fso.FileExists(smallImgs(ii)) then
fso.DeleteFile(smallImgs(ii))
end if
next
end if
end if

在if判断rs("smallImg") 的时候,rs("smallImg")是有值的.
但是在if里面 rs("smallImg") 就是空的.
改成这样
sql = "select * from [product] where id="&checkid(i)
set rs = conn.execute(sql)
if not rs.eof then
smallImg=rs("smallImg")
if smallImg<>"" then
smallImgs=split(smallImgs,",")
for ii=0 to ubound(smallImgs)
if fso.FileExists(smallImgs(ii)) then
fso.DeleteFile(smallImgs(ii))
end if
next
end if
end if
就没问题了,求解..
在if 之前输出rs("smallImg") 是有内容的.输出rs("smallImg")<>"" 是true
只是在判断过后rs("smallImg")就为空了.
很不解
展开
 我来答
qq361849425
2011-09-19 · 超过13用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:35.6万
展开全部
rs.open 与 conn.execute 是有区别的

你可以把
sql = "select * from [product] where id="&checkid(i)
set rs = conn.execute(sql)
换成
sql = "select * from [product] where id="&checkid(i)
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1

具体区别请参考下面的参考网站

参考资料: http://hi.baidu.com/mucloudli/blog/item/64ede0fc5f333f89b901a098.html

百优亿诚
2011-09-19 · TA获得超过784个赞
知道小有建树答主
回答量:1023
采纳率:0%
帮助的人:398万
展开全部
IsNull(rs("smallImg"))=False or rs("smallImg")<>""

这要看你数据库的字段类型是什么
有的时候直接是空值,但是有的时候在某些mssql数据库中显示的是Null
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓝绿白c6
2011-09-19 · TA获得超过321个赞
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:158万
展开全部
if rs("smallImg")&""<>"" then
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ahkingage
2011-09-19 · TA获得超过739个赞
知道小有建树答主
回答量:1042
采纳率:50%
帮助的人:418万
展开全部
数据库字段类型不同造成的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式