主题:  为何我查询老是出错

青苹果

职务:普通成员
等级:1
金币:0.0
发贴:59
#12006/6/28 18:19:24
我做了一个成绩查询,从首页递交过来两个字段yz_number \yz_name,分别是准考证和姓名,然后进行查询成绩,

这是我查询页面的代码,帮我看看哪出问题了
--------------------------------------

<%
yz_number=request("yz_number")
yz_name=request("yz_name")
if yz_number="" then
response.write "<script>alert('准考证与姓名必须要填写!');history.back();</Script>"
response.end
end if
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {
    font-size: 11pt;
    color: #FFFFFF;
    font-weight: bold;
}
-->
</style>
</head>

<body>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<table width="492" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#0099FF">

<%
dim conn,connstr
on error resume next
connstr="DBQ="+server.mappath("data/123.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
Set conn=Server.CreateObject("ADODB.CONNECTION")
conn.open connstr

Set rs= Server.CreateObject("ADODB.Recordset")
sql="select * from num where yz_number='"& yz_number &"' and yz_name='"& yz_name &"'"
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write "<script>alert('没有找到相关数据');history.back();</Script>"
else
%>
<tr>
<td height="30" bgcolor="#0066CC"><div align="center" class="style1">你的成绩公布如下</div></td>
</tr>
<tr>
<td height="30" bgcolor="#FFFFFF"><%=rs("yz_cj")%></td>
</tr>
<%
end if
rs.close
set rs=nothing
%>
</table>

</body>
</html>

------------------------------------

我输入了正确的准考证和姓名,但是它还是提示没有找到相关数据,疯了,简单的问题复杂化了,请帮忙看看,



浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#22006/6/29 9:02:28
if rs.eof and rs.bof then

if rs.eof or rs.bof then



浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#32006/6/29 9:05:09
    Function OpenAccessB(MDBFileName,PIN)
        Dim StrConn
        StrConn="Driver={Microsoft Access Driver (*.mdb)}"
        StrConn=StrConn & ";DBQ=" & Server.MapPath(MDBFileName)
        StrConn=StrConn & ";PWD=" & PIN
        Set OpenAccessB=Server.CreateObject("ADODB.Connection")
        OpenAccessB.Open strConn
    End Function



青苹果

职务:普通成员
等级:1
金币:0.0
发贴:59
#42006/6/30 18:58:34
不对啊,
我改成if rs.eof or rs.bof then还是出现一样的问题,惨啊,



蓝飞科技

职务:普通成员
等级:1
金币:0.0
发贴:23
#52006/6/30 22:03:35
你检查一下你的yz_number是什么字段类型,如果是数字那肯定就出现错误了



蓝飞科技

职务:普通成员
等级:1
金币:0.0
发贴:23
#62006/6/30 22:05:26
如果是yz_number是字符串类型,这样写就应该没有问题。
sql="select * from num where yz_number='"& yz_number &"' and yz_name='"& yz_name &"'"

或者你把提示的错误的信息贴上来一看就明白了



青苹果

职务:普通成员
等级:1
金币:0.0
发贴:59
#72006/7/1 10:45:00
lushibin

感谢,感谢,

我将yz_number改成文本格式,查询一切正常,但是我想问一下,本来yz_number存放的就是准考证号,为数字,我设成数字类型,为什么会查询出错,敬请表述



蓝飞科技

职务:普通成员
等级:1
金币:0.0
发贴:23
#82006/7/1 11:14:30
如果是yz_number是数字类型,竟应该这样写。
sql="select * from num where yz_number="& yz_number &" and yz_name='"& yz_name &"'"

在where yz_number="& yz_number &" 里面不要加单引号,加引号表示字符串