| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1014 人关注过本帖
标题:asp中sql查询语句的问题
只看楼主 加入收藏
读书危害健康
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-9-23
收藏
 问题点数:0 回复次数:8 
asp中sql查询语句的问题
数据库中有news 和lm两张表,news表中有lm和pic字段,lm表中有lmid字段,我现在想查询news表中pic字段中的含有图片信息的内容,但又不需要news表的lm字段中lm=13的所有内容,或者是需要lm表中lmid=1的内容,与是我使用sql = "select top 5 * from news where pic<>'' and lm<>'13'" 语句,结果产生这样的错误:lm里面有记录,但
错误类型:
ADODB.Field (0x800A0BCD)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/index.asp, 第 223 行
如果改成lm里面没有的记录,如:select top 5 * from news where pic<>'' and lm<>'100'反而正常,select top 5 * from news where pic<>'' and lm='13' 也正常,这是怎么回事?以上说的正常都是程序运行正常,并不表示能达到我想要的效果,后来我又用sql = "select top 5 * from news where (pic<>''(select * from lm where lmid='1'))"和 sql = "select top 5 * from news where pic<>'' inner join lm where lmid='1'",都报错,哪位老鸟能告诉我该怎么写,万分感谢!急等。。。。。。


附:set rs = server.CreateObject ("adodb.recordset")
sql = "select top 5 * from news where pic<>'' and lm<>'13'"
rs.open sql,conn,1,1
if not (rs.eof and rs.bof) then
pic1=rs("pic")
link1=rs("url")
text1=rs("title")
rs.movenext
pic2=rs("pic")
link2=rs("url")
text2=rs("title")
rs.movenext
pic3=rs("pic")
link3=rs("url")
text3=rs("title")
rs.movenext
pic4=rs("pic")
link4=rs("url")
text4=rs("title")
rs.movenext
pic5=rs("pic")
link5=rs("url")
text5=rs("title")
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
向这样加上判断语句后,
错误类型:
ADODB.Field (0x800A0BCD)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
搜索更多相关主题的帖子: 查询 asp 语句 sql 
2007-11-08 23:54
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 
从这句开始调整一下if not (rs.eof and rs.bof) then
if rs.eof and rs.bof then
response.write "没有找到数据"
else
pic1=rs("pic")
link1=rs("url")
text1=rs("title")
rs.movenext
pic2=rs("pic")
link2=rs("url")
text2=rs("title")
rs.movenext
pic3=rs("pic")
link3=rs("url")
text3=rs("title")
rs.movenext
pic4=rs("pic")
link4=rs("url")
text4=rs("title")
rs.movenext
pic5=rs("pic")
link5=rs("url")
text5=rs("title")
end if
rs.close
set rs=nothing
conn.close
set conn=nothing

2007-11-08 23:57
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
楼上的错不在那地方
应该是这句
sql = "select top 5 * from news where pic<>'' and lm<>'13'"
改成
sql = "select top 5 * from news where pic<>"" and lm<>13"

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2007-11-09 00:08
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 
以下是引用hmhz在2007-11-9 0:08:36的发言:
楼上的错不在那地方
应该是这句
sql = "select top 5 * from news where pic<>'' and lm<>'13'"
改成
sql = "select top 5 * from news where pic<>"" and lm<>13"

但楼主说这句
select top 5 * from news where pic<>'' and lm='13'
是对的呀?

2007-11-09 00:38
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 

他说是显示正常,但这个正常都是程序运行正常,并不表示能达到他想要的效果,他说的效果就是没有得到数据,证明
select top 5 * from news where pic<>'' and lm='13' 这句的查询语句没有查处所要的结果
所以该语句有错
而if not (rs.eof and rs.bof) then 是判断有数据就显示,相反没数据就显示空,也就是什么都不显示,但决不会显示出错的提示
如果没有if not (rs.eof and rs.bof) then 也没有 if rs.eof and rs.bof then 这个判断
数据库有记录也不会出错,但没有记录就会有错误提示
所以,只要有其中一个判断就都不回出现错误提示的


[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2007-11-09 01:26
读书危害健康
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-9-23
收藏
得分:0 
以下是引用hmhz在2007-11-9 0:08:36的发言:
楼上的错不在那地方
应该是这句
sql = "select top 5 * from news where pic<>'' and lm<>'13'"
改成
sql = "select top 5 * from news where pic<>"" and lm<>13"

改后还是有错
错误类型:
Microsoft JET Database Engine (0x80040E14)
字符串的语法错误 在查询表达式 'pic<>" and lm<>13' 中。
/index.asp, 第 205 行


[url=http://shop34791159.]淘宝小店![/url]
2007-11-09 19:24
读书危害健康
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-9-23
收藏
得分:0 
以下是引用madpbpl在2007-11-8 23:57:52的发言:
从这句开始调整一下if not (rs.eof and rs.bof) then
if rs.eof and rs.bof then
response.write "没有找到数据"
else
pic1=rs("pic")
link1=rs("url")
text1=rs("title")
rs.movenext
pic2=rs("pic")
link2=rs("url")
text2=rs("title")
rs.movenext
pic3=rs("pic")
link3=rs("url")
text3=rs("title")
rs.movenext
pic4=rs("pic")
link4=rs("url")
text4=rs("title")
rs.movenext
pic5=rs("pic")
link5=rs("url")
text5=rs("title")
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
改后还是有错
错误类型:
ADODB.Field (0x800A0BCD)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

[url=http://shop34791159.]淘宝小店![/url]
2007-11-09 19:27
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
sql = "select top 5 * from news where pic&lt;&gt;"" and lm&lt;&gt;"13""

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2007-11-09 19:41
读书危害健康
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-9-23
收藏
得分:0 
问题已经解决,虽然没什么帮助,但还是谢谢你们的回答,

[url=http://shop34791159.]淘宝小店![/url]
2007-11-09 23:37
快速回复:asp中sql查询语句的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018627 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved