ASP代码错了 自己看不出来 高手帮我看看

来源:百度知道 编辑:UC知道 时间:2024/06/20 06:30:52
<%
dim id
id=request("id")
session("id")=id
dim conn,connstr,rs,sql
set conn=server.createobject("adodb.connection")
connstr="provider=microsoft.jet.oledb.4.0;data source="& server.mappath("../data/lianxi.mdb")
conn.open connstr
set rs=server.createobject("adodb.recordset")
sql="select * from news where id="&id
rs.open sql,conn,1,3
do while not rs.eof
%>
<%=rs("titile")%> <a href="bjxw.asp?id=<%=rs("id")%>"> 编辑</a><br />
<%
rs.movenext
loop
%>

错误类型:
Microsoft JET Database Engine (0x80040E14)
语法错误 (操作符丢失) 在查询表达式 'id=' 中。
/zhouwenhao/lx/xinwen.asp, 第 11 行
id是数据库中的id 用的是自动编号

语句是没有错误的.

在ID为数值型情况下

1.确保变量id不是空值

2.确保变量id是数值型(也就是数字)

解决我和你说的亮点.问题就解决了

可以利用

response.write id

response.end

来验证变量id是否符合1-2点要求

sql="select * from news where id='" & id & "'"

如果ID 是 字符串
sql="select * from news where id='" & id & "'"

sql="select * from news where id="& CInt(id)

程序前端将ID值写入了Session,连接数据库时可从Session中取值。
sql="select * from news where id="&Session("id")

另:LX说的正确,如果ID是字符型数据,用
sql="select * from news where id='"&Session("id")&"'"

真强,没一个人对
如果是类型不对应该提示80040e07错误
楼主的提示已经告诉我们哪错了
很简单,参数没传递进来,检查下id有没有提交过来