
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 怎样解决? 展开
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 怎样解决? 展开
展开全部
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函数的用法,你仔细看一下,另外做人厚道点,问题解决了赶紧加分
=''对字符起作用,非字符is null起作用
问题补充:按zwb001的方法,已经解决。但我能告诉我下面的办法为什么不行呢?
sql="select * from search where len(keyfather)=0"
你要先弄清数据类型,字符串类型的和数字类型的处理起来不一样
http://www.w3school.com.cn/sql/sql_func_len.asp这有个len函数的用法,你仔细看一下,另外做人厚道点,问题解决了赶紧加分
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询