ASP的数据库查询条件不起作用的问题

我的数据表为search,其中字段的顺序依次为id,key,keyfather,content。content是我要显示在网页中的内容。当我使用sql="select*f... 我的数据表为search,其中字段的顺序依次为id,key,keyfather,content。content是我要显示在网页中的内容。当我使用sql="select * from search where keyfather=''"想把keyfather为空的所有记录的content显示出来,但是结果显示却为空。经过多次试验发现,只有把keyfather移到第二列才能显示keyfather为空时conternt中的内容。不知什么原因?请朋友们帮个忙啊。

asp如下:

<%
'创建网站链接
dim conn,connstr
on error resume next
Set conn=Server.CreateObject("Adodb.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("test.mdb")
'connstr="DBQ="+server.mappath("Data/project.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
conn.open connstr
if err then
err.clear()
Response.Write("<h1>数据链接错误。。请稍候重试!</h1>")
Response.end
end if
%>

<div id="right">

<% Session.CodePage=65001%>
<%
set rs=nothing
set rs=server.CreateObject("adodb.recordset")
sql="select * from search where keyfather=''"
rs.open sql,conn,1,1
do while not rs.eof
response.Write "<div id="&rs("id")&">"&rs("content")&"</div>"
rs.Movenext
loop
rs.close
set rs=nothing
%>
</div>
谢谢。查了下,是文本类型。请问可以用这种方法 len(keyfather)=0 怎样解决?
展开
 我来答
zwb001
2010-05-08 · TA获得超过671个赞
知道小有建树答主
回答量:1971
采纳率:0%
帮助的人:2746万
展开全部
select * from search where keyfather='' or keyfather is null

=''对字符起作用,非字符is null起作用

问题补充:按zwb001的方法,已经解决。但我能告诉我下面的办法为什么不行呢?
sql="select * from search where len(keyfather)=0"

你要先弄清数据类型,字符串类型的和数字类型的处理起来不一样

http://www.w3school.com.cn/sql/sql_func_len.asp这有个len函数的用法,你仔细看一下,另外做人厚道点,问题解决了赶紧加分
0乙丁0
2010-05-08 · TA获得超过1976个赞
知道小有建树答主
回答量:340
采纳率:0%
帮助的人:341万
展开全部
按你的说法,你不是都已经知道怎么做了么?
还有建议不要用空值来查询……用一固定的字符代替空值可能会更好一点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式