注册 登录
编程论坛 ASP技术论坛

求助:商品查询出错了

xiaolaba3330 发布于 2008-05-15 16:34, 485 次点击
<%@ LANGUAGE="VBScript" %>
<html>
<head><title>商品查询</title></head>
<body onload="fqs.coid.value=''">
<center>
<h2>实用型商品查询网页</h2><hr>
<form name="fqs" action="1.asp" method="post">
<table>
<tr><td colspan="6"><font color="blue">查询条件</font></td></tr>
<tr><td colspan="6"><hr></td></tr>
<tr>
   <td>商品名称</td>
   <td><input name="mc" type="text" maxlength="8" size="10">?</td>
   <td>商品类别</td>
   <td><select name="lb">
<%
' 注释:数据库连接代码
   Set objConn = Server.CreateObject("ADODB.Connection")
   Driver = "Driver={Microsoft Access Driver (*.mdb)};"
   DBPath = "DBQ=" & Server.MapPath("sp.mdb")
   objConn.Open Driver & DBPath
' 注释:创建并打开Recordset对象
   Set objRS = Server.CreateObject("ADODB.Recordset")
   objRS.ActiveConnection = objConn
   objRS.Source = "SELECT distinct 类别 FROM spxx"
    objRS.Open
' 注释:读取记录集中所有的课程记录
   Do While Not objRS.EOF
%>
      <option value=<% = objRS("类别") %>><% = objRS("类别") %></option>
<%
      objRS.MoveNext
   Loop
'  注释:断开数据库连接
   objRS.Close      ' 关闭记录集
   Set objRS = Nothing
   objConn.Close    ' 关闭数据库连接
   Set objConn = Nothing
%>
   </select>?</td>
   <td><input type="submit" value="查询">?</td>
   <td><input type="reset"  value="重设"></td>
<tr><td colspan="6"><hr></td></tr>
<tr><td colspan="6"><font color="blue">查询结果</font></td></tr>
</table>
</form>
<%
   If  Request("lb") <> "" and Request("mc") <> "" Then   
   ' 注释:数据库连接代码
      Set objConn = Server.CreateObject("ADODB.Connection")
      Driver = "Driver={Microsoft Access Driver (*.mdb)};"
      DBPath = "DBQ=" & Server.MapPath("sp.mdb")
      objConn.Open Driver & DBPath
   ' 注释:创建并初始化Recordset对象
      Set objRS = Server.CreateObject("ADODB.Recordset")
      objRS.ActiveConnection = objConn
      objRS.Source = "SELECT 零售价,类别,商品名称,商品编号,调价时间 FROM spxx " & _
                     "WHERE  类别 = '" & Request("lb") & "' AND 商品名称 like '%" & Request("mc") & "%'"
      objRS.CursorType = 3   ' 记录集指针类型设为静态指针
      objRS.Open
   ' 注释:显示查询条件
      Response.Write("<table border='1' width='80%'>")
      Response.Write("<tr align='left'>")
      Response.Write("<th>商品编号</th>")
      Response.Write("<th>商品名称</th>")
      Response.Write("<th>类别</th>")
      Response.Write("<th>单价</th>")
      Response.Write("<th>调价时间</th>")
      Response.Write("</tr>")
      If objRS.RecordCount > 0 then
       for i=0 to objRS.RecordCount
         Response.Write("<tr>")  
         Response.Write("<td>" & objRS("商品编号") & "</td>")
         Response.Write("<td>" & objRS("商品名称") & "</td>")
         Response.Write("<td>" & objRS("类别") & "</td>")
         Response.Write("<td>" & objRS("零售价") & "元</td>")
         Response.Write("<td>" & objRS("调价时间") & "</td>")
         Response.Write("</tr>")
         objRS.MoveNext
       next

      Else
          Response.Write("<td>?</td>")
          Response.Write("<td>?</td>")
          Response.Write("<td> 没有找到!<td>")
      End If
 ' 注释:断开数据库连接
      objRS.Close      ' 关闭记录集
      Set objRS = Nothing
      objConn.Close    ' 关闭数据库连接
      Set objConn = Nothing
     End If

%>
</center>
</body>
</html>

红笔标注的地方提示出错,但去掉蓝笔标注的地方能正常运行

这个程序实现的是商品查询,即在文本框输入查询商品(模糊查询),选择商品种类后,点击查询,就会表格的方式列出所查的商品
例如:
文本框输入 纽崔莱  类别选择饮料 点查询 预期的目标是显示:

商品编号    商品名称    类别    零售价    调价时间
180001    纽崔莱松果菊健体     饮料    204    2007-4-11
180002    纽崔莱小麦胚牙油     饮料    280    2007-4-11
180003    纽崔莱维生素C片     饮料    250    2007-4-18

麻烦大家帮着改一下~~~~~~
只有本站会员才能查看附件,请 登录
这是数据库
只有本站会员才能查看附件,请 登录
这是我用记事本写的代码

[[it] 本帖最后由 xiaolaba3330 于 2008-5-15 16:36 编辑 [/it]]
2 回复
#2
tianyu1232008-05-15 17:32
提示什么错误
for i=0 to objRS.RecordCount

先把这个改一下试试
for i=0 to objRS.RecordCount-1
#3
xiaolaba33302008-05-15 18:09
商品编号 商品名称 类别 单价 调价时间
180001 纽崔莱松果菊健体纽崔莱松果菊健体 纽崔莱松果菊健体 纽崔莱松果菊健体 纽崔莱松果菊健体 饮料 204元 2007-4-11
180002 纽崔莱小麦胚牙油纽崔莱松果菊健体 纽崔莱松果菊健体 纽崔莱松果菊健体 纽崔莱松果菊健体 饮料 280元 2007-4-11
180003 纽崔莱维生素C片纽崔莱松果菊健体 纽崔莱松果菊健体 纽崔莱松果菊健体 纽崔莱松果菊健体 饮料 250元 2007-4-18
 

结果是这样的,还是没达到我预期的效果啊~~~~~~
1