| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1374 人关注过本帖
标题:帮我看看那里错了,为什么查询不到内容
只看楼主 加入收藏
lili0610
Rank: 2
等 级:新手上路
威 望:4
帖 子:197
专家分:0
注 册:2008-4-17
收藏
得分:0 
Select BellID,SongName,SingerName,Price,AvailabilityDate,SpName,DiscCompany,SingType,Region,DownloadsNumber from BellData where SingerName like '%孙楠%' order by DownloadsNumber DESC
这是查询语句,没有错的,我在MSSQL里也用这句查询过,内容都能查询到,为什么总是查询不到记录呢?
2008-08-26 11:35
lili0610
Rank: 2
等 级:新手上路
威 望:4
帖 子:197
专家分:0
注 册:2008-4-17
收藏
得分:0 
<!--#include file="conn.asp"-->
<%
content=request.Form("content")
class1=request.Form("class1")
sql="Select BellID,SongName,SingerName,Price,AvailabilityDate,SpName,DiscCompany,SingType,Region,DownloadsNumber from BellData where"
If classl="歌曲名称" Then
sql=sql&" SongName like '%"&content&"%'"
End If
If class1="歌手" Then
sql=sql&" SingerName like '%"&content&"%'"
End If
If class1="提供商" Then
sql=sql&" SpName like '%"&content&"%'"
End If
If class1="日期" Then
sql=sql&" AvailabilityDate like '%"&content&"%'"
End If
sql=sql&" order by DownloadsNumber DESC"
'response.Write sql
'response.End()
set rs=Server.CreateObject("Adodb.Recordset")
rs.Open sql,Conn,1,1
if rs.Eof and rs.Bof Then
    Response.Write"没有相关记录"
Else
response.End()
counts=20
rs.pagesize=counts
allpage=rs.pagecount
page=request("page")
If not IsNumeric(page) Then
   page=1
End if
if IsEmpty(page)Or CInt(page)<1 Then
   page=1
elseif CInt(page)>=allpage Then
   page=allpage
End If
rs.absolutepage=page
%>
<table width="900" border="1">
  <tr>
    <td><div align="center">铃声编号</div></td>
    <td><div align="center">铃声名称</div></td>
    <td><div align="center">歌手姓名</div></td>
    <td><div align="center">¥价格</div></td>
    <td><div align="center">有效期</div></td>
    <td><div align="center">铃音提供商(sp)</div></td>
    <td><div align="center">唱片公司</div></td>
    <td><div align="center">铃音类型</div></td>
    <td><div align="center">接入地区</div></td>
    <td><div align="center">定购次数</div></td>
  </tr>
  <%
  do while not rs.eof and counts>0 %>
  <tr>
    <td><div align="center"><%=rs("BellID")%></div></td>
    <td><div align="center"><%=rs("SongName")%></div></td>
    <td><div align="center"><%=rs("SingerName")%></div></td>
    <td><div align="center">¥:<%=rs("Price")%></div></td>
    <td><div align="center"><%=rs("AvailabilityDate")%></div></td>
    <td><div align="center"><%=rs("SpName")%></div></td>
    <td><div align="center"><%=rs("DiscCompany")%></div></td>
    <td><div align="center"><%=rs("SingType")%></div></td>
    <td><div align="center"><%=rs("Region")%></div></td>
    <td><div align="center"><%=rs("DownloadsNumber")%></div></td>
  </tr>
  <%
  counts=counts-1
  rs.movenext
  loop
  end if
  %>
</table>
<%
If page=1 Then
response.write("<a href=admin_manage.asp>首页</a>")
Else
response.write("<a href=admin_manage.asp?page=1>首页</a><a href=admin_manage.asp?page="&page-1&">上一页</a>")
End If
response.write("第"&page&"页")
If page=allpage Then
response.write("<a href =admin_manage.asp>尾页</a>")
Else
response.write("<a href=admin_manage.asp?page="&page+1&">下一页</a><a href=admin_manage.asp?page="&allpage&">尾页</a>")
End if
%>

前面的错误已经找到了?现在错误到这里了.
  <%
  do while not rs.eof and counts>0 %>
什么也不显示了,只是白白一片
2008-08-26 11:42
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
程序代码:
<!--#include file="conn.asp"-->
<%
content=request("content")
class1=request("class1")

Select Case class1
Case "歌曲名称" chaxun="SongName like '%"&content&"%'"
Case "歌手" chaxun="SingerName like '%"&content&"%'"
Case "提供商" chaxun="SpName like '%"&content&"%'"
Case "日期" chaxun="AvailabilityDate like '%"&content&"%'"
End Select

set rs=Server.CreateObject("Adodb.Recordset")
rs.open "Select * from BellData where "&chaxun&" order by DownloadsNumber asc",Conn,1,1
if rs.eof and rs.bof then
Response.Write"没有相关记录"
else
page=request.querystring("page")
if page="" then page=1 end if
pages = 20
rs.pagesize = pages
maxpagecount=rs.pagecount
rs.absolutepage = page 
    i=0
pagestart=page-9
pageend=page+9
if pagestart<1 then pagestart=1 end if
if pageend>maxpagecount then
pageend=maxpagecount
end if
rcount=rs.RecordCount
%>
<table width="900" border="1">
  <tr align="center">
    <td>铃声编号</td>
    <td>铃声名称</td>
    <td>歌手姓名</td>
    <td>¥价格</td>
    <td>有效期</td>
    <td>铃音提供商(sp)</td>
    <td>唱片公司</td>
    <td>铃音类型</td>
    <td>接入地区</td>
    <td>定购次数</td>
  </tr>
<%do while not rs.eof and i<rs.pagesize%>
  <tr align="center">
    <td><%=rs("BellID")%></td>
    <td><%=rs("SongName")%></td>
    <td><%=rs("SingerName")%></td>
    <td>¥:<%=rs("Price")%></td>
    <td><%=rs("AvailabilityDate")%></td>
    <td><%=rs("SpName")%></td>
    <td><%=rs("DiscCompany")%></td>
    <td><%=rs("SingType")%></td>
    <td><%=rs("Region")%></td>
    <td><%=rs("DownloadsNumber")%></td>
  </tr>
<%
  rs.movenext
  i=i+1
  loop
%>
<tr>
<td colspan="10">
<a href="?page=1&class1=<%=class1%>&content=<%=content%>" style="font-family:Webdings;">7</a>
<%
for n=pagestart to pageend
if n=int(page) then
Response.write " <font color=""red""><b>"&n&"</b></font> "
else
Response.write " <a href=""?page="&n&"&class1="&class1&"&content="&content&""">"&n&"</a> "
end if
next
%>
<a href="?page=<%=maxpagecount%>&class1=<%=class1%>&content=<%=content%>" style="font-family:Webdings;">8</a> 共<font color="red"><%=maxpagecount%></font>页 每页<font color="red"><%=pages%></font>条 共<font color="red"><%=rcount%></font>条
</td>
</tr>
</table>
<%
  end if
  rs.close
  set rs=nothing
%>


[[it] 本帖最后由 hmhz 于 2008-8-27 12:42 编辑 [/it]]

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2008-08-26 12:51
lili0610
Rank: 2
等 级:新手上路
威 望:4
帖 子:197
专家分:0
注 册:2008-4-17
收藏
得分:0 
回复 13# hmhz 的帖子
你的想法是不错,我也这么做过,但你的SQL得到的值不对
Select * from BellData where order by DownloadsNumber asc
查询成这样了,所以执行的时候会出错的
我的那个,应该是在WHILE里出错了
我以前也是用WHILE.不知道这次为什么就错了.你帮我看看
你这种方法,不知道为什么
条件"&chaxun(classl,content)&"
总是得不到
2008-08-26 13:18
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
我知道原因了,你上面class1=request.Form("class1")

class1后面的是数字1
而你下面的判断 If classl="歌曲名称" Then 中的classl后面不是数字1,而是字母l

所以你只要把
"&chaxun(classl,content)&"
改成
"&chaxun(class1,content)&"

[[it] 本帖最后由 hmhz 于 2008-8-26 13:34 编辑 [/it]]

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2008-08-26 13:32
lili0610
Rank: 2
等 级:新手上路
威 望:4
帖 子:197
专家分:0
注 册:2008-4-17
收藏
得分:0 
应该可以,我给你给我的代码一整理,放到我用IF判断里,就可以了,就是分页不可以,我看看吧!
2008-08-26 13:45
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
分页需要传查询参数的,而你的查询参数是通过 request.Form 传来的,所以分页上无法在地址栏传参数
你把
content=request.Form("content")
class1=request.Form("class1")
改成
content=request("content")
class1=request("class1")
这样 get 和 post 方式都能传送数据过来
我再把上面的分页加个传送查询参数上去,你分页就可以点了

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2008-08-26 13:51
lili0610
Rank: 2
等 级:新手上路
威 望:4
帖 子:197
专家分:0
注 册:2008-4-17
收藏
得分:0 
谢谢了
我知道了
我在这个论坛好长时间,怎么变成了,只发10帖的新人了
2008-08-26 14:01
lili0610
Rank: 2
等 级:新手上路
威 望:4
帖 子:197
专家分:0
注 册:2008-4-17
收藏
得分:0 
好像不可以吧?分页还是没有改出来,好像不可以,可能是我没有看出来,再看看吧
不管怎么说,谢谢你了

[[it] 本帖最后由 lili0610 于 2008-8-26 14:25 编辑 [/it]]
2008-08-26 14:21
J_j
Rank: 1
等 级:新手上路
威 望:1
帖 子:100
专家分:0
注 册:2008-8-21
收藏
得分:0 
个人觉得sql语句出了问题。。。。。检查下
rs.open "Select * from BellData where "&chaxun(classl,content)&" order by DownloadsNumber asc",Conn,1,1
2008-08-26 20:27
快速回复:帮我看看那里错了,为什么查询不到内容
数据加载中...
 
   



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

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