一句简单SQL语句

jljlwsy 2005-08-19 11:04:31
有两个表news和bigclass
bigclass中有bigclassid(ID)和bigclassname(中文的栏目名称)
news中只有bigclassid
而在使用中主要使用bigclassname,因此使用下面的语句
sql = "select newsid,title,bigclassname form news,bigclass where news.bigclassid=bigclass.bigclassid"

if lm<>"" then
sql = sql & " and bigclassid="&lm
end if
sql= sql& " order by newsid desc"
当lm(栏目ID)=""时正常,lm<>""时,提示
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'

/iisHelp/common/500-100.asp,行242

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'

ODBC 驱动程序不支持所需的属性。

/ADMIN_1/admin_news_list.asp,行133
请帮我写出正确的SQL语句,谢谢

...全文
142 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jljlwsy 2005-08-19
  • 打赏
  • 举报
回复
谢谢fenglik
fenglik 2005-08-19
  • 打赏
  • 举报
回复

if lm<>"" then
sql = sql & " and bigclassid="&lm
end if
中的bigclassid是那张表的?你要指明啊!
news.bigclassid 或 bigclass.bigclassid
jljlwsy 2005-08-19
  • 打赏
  • 举报
回复
如果不把两个表联查,也不出错
select newsid,title,bigclassid,original,updatetime,hot,specialid from news order by newsid desc

select newsid,title,bigclassid,original,updatetime,hot,specialid from news where bigclassid=8 order by newsid desc

都能得到正确的结果

但是如果这样在后面要得到bigclassname太麻烦了。
请高手指教
jljlwsy 2005-08-19
  • 打赏
  • 举报
回复
按照wanghui0380(放歌)的方法得到这样的语句
select newsid,title,original,bigclassname,updatetime,hot,specialid from news,bigclass where news.bigclassid=bigclass.bigclassid order by newsid desc
可以得到查询到数据

select newsid,title,original,bigclassname,updatetime,hot,specialid from news,bigclass where news.bigclassid=bigclass.bigclassid and bigclassid=4 order by newsid desc
就得到
Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'

ODBC 驱动程序不支持所需的属性。

/ADMIN_1/admin_news_list.asp,行134


fashi1000 2005-08-19
  • 打赏
  • 举报
回复
select news.newsid,news.title,bigclass.bigclassname form news innter join bigclass where news.bigclassid=bigclass.bigclassid
wanghui0380 2005-08-19
  • 打赏
  • 举报
回复
1。"select newsid,title,bigclassname form news,bigclass where news.bigclassid=bigclass.bigclassid" " and bigclassid="
你用了两表联查,可newsid,title都是那个表的你指定了吗?应该 news.newsid这样的

2。response.write sql
rs.open
把sql打印出来,看看是什么
jljlwsy 2005-08-19
  • 打赏
  • 举报
回复
我是新手,dreamwaver中有查询分析器吗?
我的程序中在没有加上where news.bigclassid=bigclass.bigclassid还没有问题
在lm=""时也没有问题
tigerwen01 2005-08-19
  • 打赏
  • 举报
回复
lm是字符,那么
if lm<>"" then
sql = sql & " and bigclassid='"&lm&"'"
end if
sql= sql & " order by newsid desc"
poonzsp 2005-08-19
  • 打赏
  • 举报
回复
if lm<>"" then
sql = sql & " and bigclassid="&Clng(lm)
end if
zy51 2005-08-19
  • 打赏
  • 举报
回复
看出错提示,说不定不是sql语句的问题.你的数据库连接对了吗?先检查.输出sql语句.检查.没问题的话,放到查询分析器里看看是否有结果....不给代码,给你基本差错的方法.不知道对你是否有帮助.

28,404

社区成员

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

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