小学生廉洁征文比赛:请教ASP问题,郁闷啊^^^^^^

来源:百度文库 编辑:高校问答 时间:2024/05/03 06:00:41
我的程序里面一直有这个错误:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'id1=' 中。
/在线答疑/viewquestion.asp, 第 20 行

我的编码是:
<HTML>
<HEAD>
<TITLE><%=title%></TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<link rel="stylesheet" type="text/css" href="css/index1.css">
<link rel="stylesheet" type="text/css" href="css/toolbar2.css">
<META content="Microsoft FrontPage 6.0" name=GENERATOR>
<base target="_self">
</HEAD>
<BODY background="0020.gif" leftMargin=0 topMargin=0>
<p align="center">
<%
userid=request("userid")

order1=request.form("D1")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("CSTUDY.mdb")
Set rs= Server.CreateObject("ADODB.Recordset")
sql="select * from question where id1="&userid&" order by '"&order1&"' desc"
set rs=conn.Execute(sql)
if rs.eof then
%>
<b><font color="#8CAAE7" size="5">您还没提过任何问题!想提问请点击</font><font size="5" color="#FF0000">
<a href="myquestion.asp?">这里</a></font><font color="#8CAAE7" size="5">!</font></b>
<%
else
%>
<div align="center">
<center>
<TABLE border=1 bgcolor="#e6e5b8" borderColorDark=#ffffff borderColorLight=#660066
cellPadding=5 cellSpacing=0 width="78%" height="38">
<TBODY>
<TR align=middle>
<TD height="1" align="center" bgcolor="#8CAAE7" width="119%" valign="middle" colspan="4">
<font color="#000000"> 以下是您查询的问题
</font> </form></TD>
</TR>
<TR align=middle>
<TD height="1" align="center" bgcolor="#E6E5B8" width="25%" valign="middle">
<font color="#FF0000">『问题标题』</font>
</TD>
<TD height="1" align="center" bgcolor="#E6E5B8" width="25%" valign="middle">
<font color="#FF0000">『所属章节』</font>
</TD>
<TD height="1" align="center" bgcolor="#E6E5B8" width="25%" valign="middle">
<font color="#FF0000">『已回答』</font>
</TD>
<TD height="1" align="center" bgcolor="#E6E5B8" width="25%" valign="middle">
<font color="#FF0000">『提交时间』</font>
</TD>
</TR>

<%do while not rs.eof%>
<TR align=middle>
<%
sql1="select * from tutorial where ID="&rs("id2")&""
set rs2=conn.execute(sql1)
%>
<TD height="1" align="center" bgcolor="#E6E5B8" width="25%" valign="middle">
<a href="questiondetail.asp?id=<%=rs("ID")%>" target="_blank"><%=rs("title")%></a></TD>
<TD height="1" align="center" bgcolor="#E6E5B8" width="25%" valign="middle">
<a href="viewtutorial.asp?id=<%=rs2("ID")%>" target="_blank"><%=rs2("title")%></a></TD>
<%
……
以下部分不能写了

请教各位高手指点,不胜感激!!!

sql="select * from question where id1="&userid&" order by '"&order1&"' desc"
你的ORDER BY应该是
order by id1 desc
没有order by 一个值的!

sql="select * from question where id1="&userid&" order by '"&order1&"' desc"
上位朋友说对了,order by 后面应该是个字段名,不过还有个问题,那就是id1="&userid&"这个地方,应该是id='"&userid&"',再试试啊

你没看出来怪怪的吗,sql语句应该是:sql="select*from where id1='"&userid&"' order by 字段名 desc".其实这个跟我们语文的语法差不多的.外边有个双引号,里边的第一层引号就应该是单引号,再下一层就再是双引号....就这样循环.其实我也是靠我的经验说的,我还没系统研究过这东西呢..呵呵.说错了别见怪