如何判断字段值是否为空?

wmark304 2009-09-03 05:55:05
数据库里pic字段是文本类型,用来记录上传图片名称的,
我想动态显示图片,如果数据库里有上传图片的记录,则显示数据库里的图片,如果记录为空,则显示指定的一副图片,
查询语句是这样写的:
<%
SQL="Select * from pro Where ID="&id
Set rs=Server.CreateObject("ADODB.RecordSet")
rs.open SQL,con,1,1
%>
<%
if Request("pic")<>"" then
response.write "<img src=rs('pic')"
Response.Write " width=1004 height=262>"
end if
%>
<%
if Request("pic")="" then
Response.Write "<img src='images_pic/t1.jpg' />"
end if
%>
实际运行的时候,我的数据库里明明是有数据记录的,
但网页却不显示数据库里的图片,而是显示t1.jpg这副图片,
郁闷死了,
请问是哪里出错了?
请朋友指点,谢谢了!
...全文
168 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
wmark304 2009-09-04
  • 打赏
  • 举报
回复
太感动了,这么多朋友来帮忙,在你们的帮助下,终于搞定了
谢谢各位朋友了,
谢谢!!
crecrecre 2009-09-04
  • 打赏
  • 举报
回复
学习
江南昆虫 2009-09-04
  • 打赏
  • 举报
回复
SQL="Select *,IsNull(pic,'images_pic/t1.jpg') as pic2 from pro Where ID="&id 
Set rs=Server.CreateObject("ADODB.RecordSet")
rs.open SQL,con,1,1
Response.Write "<img src='" & rs("pic2") & "' width=1004 height=262>"
leapceo 2009-09-04
  • 打赏
  • 举报
回复
if Rs("pic")= "" or IsNull(Rs("pic")) then

else

end if
anbs01 2009-09-04
  • 打赏
  • 举报
回复
request("pic")根本就是空的,当然显示t1图片
应该用rs("pic")
toury 2009-09-04
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zxdldh007 的回复:]
VBScript code<%
SQL="Select * from pro Where ID="&idSet rs=Server.CreateObject("ADODB.RecordSet")
rs.open SQL,con,1,1if Rs("pic")<>""then'你写的request("pic"),如果是判断数据库里的是否为空,就改成rs("pic")response.write" <img src='"& rs("pic")&"' width=1004 height=262>"'这里注意引号的用法。你写的明显有错误。endifif Rs("pic")=""then'同样这里要改成rs("pic")Response.Write" <img src='images_pic/t1.jpg' />"endif
%>
以上只是改出你的代码错误,至于怎么循环读出pic等布局问题没有考虑
[/Quote]
你的代码有漏洞:
if Rs("pic") <>"" then '你写的request("pic"),如果是判断数据库里的是否为空,就改成rs("pic")

应该这样:
if Rs("pic")&"" <>"" then '防止pic字段为NULL值时的报错或判断失败

number123456 2009-09-04
  • 打赏
  • 举报
回复
<% 
if Request("pic") <>"" then
response.write " <img src= "&rs('pic')&" width=1004 height=262>"
else
Response.Write " <img src='images_pic/t1.jpg' />"
end if
%>
凡夫与俗子 2009-09-04
  • 打赏
  • 举报
回复
还有一个就是rs.open SQL,con,1,1 不知道你的连接是conn还是con,怕你误写了,提示下。
呵呵。不过一般报错改的出来。
凡夫与俗子 2009-09-04
  • 打赏
  • 举报
回复
<% 
SQL="Select * from pro Where ID="&id
Set rs=Server.CreateObject("ADODB.RecordSet")
rs.open SQL,con,1,1
if Rs("pic") <>"" then '你写的request("pic"),如果是判断数据库里的是否为空,就改成rs("pic")
response.write " <img src='" & rs("pic") & "' width=1004 height=262>" '这里注意引号的用法。你写的明显有错误。
end if
if Rs("pic")="" then '同样这里要改成rs("pic")
Response.Write " <img src='images_pic/t1.jpg' />"
end if
%>

以上只是改出你的代码错误,至于怎么循环读出pic等布局问题没有考虑
凡夫与俗子 2009-09-04
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 toury 的回复:]
引用 10 楼 zxdldh007 的回复:
VBScript code <%
SQL="Select * from pro Where ID="&idSet rs=Server.CreateObject("ADODB.RecordSet")
rs.open SQL,con,1,1if Rs("pic") <>""then'你写的request("pic"),如果是判断数据库里的是否为空,就改成rs("pic")response.write" <img src='"& rs("pic")&"' width=1004 height=262>"'这里注意引号的用法。你写的明显有错误。endifif Rs("pic")=""then'同样这里要改成rs("pic")Response.Write" <img src='images_pic/t1.jpg' />"endif
%>
以上只是改出你的代码错误,至于怎么循环读出pic等布局问题没有考虑

你的代码有漏洞:
ifRs("pic") <>"" then  '你写的request("pic"),如果是判断数据库里的是否为空,就改成rs("pic")

应该这样:
if Rs("pic")&"" <>"" then  '防止pic字段为NULL值时的报错或判断失败


[/Quote]

哈,多谢老大指教。
syjeffdyg 2009-09-03
  • 打赏
  • 举报
回复
1楼正确!rs("pic")是字段值,相当于变量,不能放入引号内,必须用连接符&连接。
startnow_loison 2009-09-03
  • 打赏
  • 举报
回复
<%
if not Request("pic")="" then
response.write("<img src="" "&rs("pic")&" "") width=1004 height=262/>")e
else
response.write("<img src=""images_pic/t1.jpg""/>")
end if
%>
kingfangdeng 2009-09-03
  • 打赏
  • 举报
回复
用response.write and response.end() 慢慢调试.....
crospo 2009-09-03
  • 打赏
  • 举报
回复
你应该判断的是这个rs("pic")<>""

这个REQuEST("pic") 哪里的
liuwei_IT_love 2009-09-03
  • 打赏
  • 举报
回复
<%
SQL="Select * from pro Where ID="&id
Set rs=Server.CreateObject("ADODB.RecordSet")
rs.open SQL,con,1,1
%>
<%
if Request("pic") <>"" then
response.write " <img src=rs('pic')"
Response.Write " width=1004 height=262>"
end if
%>
<%
if Request("pic")="" then
Response.Write " <img src='images_pic/t1.jpg' />"
end if
%>
request()语句是从客户端获取用户输入的信息,你是从自己的数据库中调取,这样应该不行吧
把它们改成if rs("pic")<>"" then试试
xxwood 2009-09-03
  • 打赏
  • 举报
回复
用 isnull() 函数
hookee 2009-09-03
  • 打赏
  • 举报
回复

<%
SQL="Select * from pro Where ID="&id
Set rs=Server.CreateObject("ADODB.RecordSet")
rs.open SQL,con,1,1
if Not IsNull(Request("pic").Value) then
response.write " <img src=""" & rs("pic") & """ width=1004 height=262>"
Else
Response.Write " <img src='images_pic/t1.jpg' />"
end if
%>

chenjianyong94 2009-09-03
  • 打赏
  • 举报
回复
单步调试,sql 先把sql打出来,在数据库中执行以下,看看有没数据

Request("pic") 哪里来的?这个
xuStanly 2009-09-03
  • 打赏
  • 举报
回复
response.write " <img src=rs('pic')"
==语法错了,先这样试试==
response.write "<img src=" & rs("pic")

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧