高分悬赏关于ASP查询access的两个问题!

各位高手,请教大家两个问题,我是菜鸟,希望大家帮忙,谢谢!我的Access中有Class_no,C_name和T_name等内容,其中C_name是唯一的,而Class_... 各位高手,请教大家两个问题,我是菜鸟,希望大家帮忙,谢谢!
我的Access中有Class_no,C_name和T_name等内容,其中C_name是唯一的,而Class_no和T_name可能相同,也可能不同。现在我想使用ASP把相同的T_name的内容内容罗列出来,显示为CLass_NO的链接,然后当我点击的时候会显示另外一个页面,会把相同的Class_NO的相关内容罗列出来,比如C_name等。
1.我再把相同的T_name的Class_no罗列出来的时候,有好多Class_NO是重复的,如何过滤它,下面是代码search.asp
<%Dim S_Key,RST,StrSQL
S_Key = Trim(Request("key")) key为我定义的一个标签名字
If S_Key <>"" then
Set RST=Server.CreateObject("ADODB.RecordSet")
StrSQL=AutoKey(S_Key) '此处使用自定义函数 AutoKey(),该函数为实现智能搜索的核心
RST.Open StrSQL,conn,3,2
If RST.BOF And RST.EOF Then
%>
<font color="#FF0000">未找到任何结果!</font>
<%
Else
%>
搜索名称为“<font color="#FF0000"><%= S_Key %></font>”的项,共找到 <font color="#FF0000"><%= RST.RecordCount %></font> 项:<p>
<%
While Not RST.EOF
%>
<font style="font: 12pt 宋体"><a href="show.asp?var1=<%= RST("class_no") %>" target="_blank"><%= RST("class_no") %></a></font><br>
<%
RST.MoveNext
Wend
RST.Close
Set RST=Nothing
End If
End If %>
2.第二个问题,关于show.asp,代码如下,能运行,但结果有些奇怪,我的本意是想显示所有相同class_no的详细信息,但是却显示成了数据库中第一条记录,并且有多少条记录,就显示多少条重复的数据,以后再有记录也不再显示了,比较诡异,代码如下:
<!--#include file="conn.asp"--> ;连接数据库
<%var1=request.querystring("var1")%>
<%
Dim S_Key,RST,StrSQL
S_Key = Trim(var1)
If S_Key <>"" then
Set RST=Server.CreateObject("ADODB.RecordSet")
StrSQL=AutoKey(S_Key) '此处使用自定义函数 AutoKey()
RST.Open StrSQL,conn,1,1 '得到搜索后的记录
If RST.BOF And RST.EOF Then
%>
<font color="#FF0000">Sorry,未找到任何结果!</font>
<%
Else
%>
搜索名称为“<font color="#FF0000"><%= S_Key %></font>”的项,共找到 <font color="#FF0000"><%= RST.RecordCount %></font> 项:<p>
<%
While Not RST.EOF
%>
<%set show=conn.execute("select*from C_info where Class_NO='"&var1&"'")%>
<tr>
<b>T_Name:</b><%=show("T_name_CN")%></td>
<b>CLass_NO:</b><%=show("Class_no")%></td>
</tr>
</table>
<tr>
<td C_Name:</b><%=show("c_name_CN")%></td>
<td C_Tel:</b><%=show("C_tel")%></td>
</tr>
</table>
<p>
<%
RST.MoveNext
set show=nothing
Wend
RST.Close
Set RST=Nothing
End If
End If
%>
展开
 我来答
jinlio
2009-02-02 · TA获得超过1459个赞
知道大有可为答主
回答量:1719
采纳率:0%
帮助的人:1618万
展开全部
第一个问题。里面如何过滤
StrSQL=AutoKey(S_Key)
这个是关键,
你把StrSQL的东西经过AutoKey(S_Key)查询后的结构传给RST也就是
RST.Open StrSQL,conn,3,2
这句话。
所以,结果就是存储在RST里面的,想要改变RST,也就是你想的过滤重复的东西,那么StrSQL是关键。也就是由AutoKey(S_Key)起作用。
说起来好像很复杂,其实也没什么了。
一句话,改变你的SQL查询语句。

第二个问题。
第二个没怎么看出来什么问题。
不过你
</table>
<tr>
<td C_Name:</b><%=show("c_name_CN")%></td>
<td C_Tel:</b><%=show("C_tel")%></td>
</tr>
</table>
是不是有问题啊?

另外,
我觉得你的数据库设计可能存在缺陷。或者可能你处理上有点问题了。
不然不会这么麻烦吧。

你每次查询的时候(第一题)用不重复的C_NAME那个键不就不用重复了么。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式