日期:2014-05-17  浏览次数:20900 次

帮忙看看这段代码错哪儿了,弄了一个星期了,还没弄出来,郁闷.
<!--#include   file= "conn1.asp "-->
<html>
<head>
<meta   http-equiv= "Content-Type "   content= "text/html;   charset=gb2312 ">
<title> 删除信息 </title>
</head>

<body>
<%
  id   =   request.QueryString( "id ")
  str   = "   delete   from   lyb   where   Id= "&id
  conn.execute   (   str)  
  response.Redirect( "显示留言.asp ")
  set   conn=nothing
%>
</body>
</html>


错误类型:
Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80040E14)
[Microsoft][ODBC   SQL   Server   Driver][SQL   Server]第   1   行:   '= '   附近有语法错误。
/TEST/删除留言.asp,   第   12   行
conn.execute   (   str)   这是第12行.

------解决方案--------------------
str = " delete from lyb where Id= "&id这一句改成
str = "delete from lyb where Id= ' "&id& " ' "试一下
楼主看一下你数据库里的字段是Id吗,还有就是输出一下看id 是值
------解决方案--------------------
id = request.QueryString( "id ")

response.write(id) '看看有值吗 ?

‘ ( "显示留言.asp ") 不要用中文名
------解决方案--------------------
发现楼主这样的代码很容易给人家sql注入哦^_^
------解决方案--------------------
不要用 "id "做变量
------解决方案--------------------
在最前面加上
<%response.Buffer=true%>
------解决方案--------------------
肯定是id得到的值是空的
你这是从表单post方式提交的还是以什么方式提交到这里的,
response.write id
response.end
看看有没有值显示就知道了

------解决方案--------------------
检查你的前一个页面。另外你想的文件名有问题,你看到哪个网页的文件名用中文取名了?
------解决方案--------------------
你数据库ID类型错误,因此你在添加数据的时候ID字段为空值,应该是自动增加(自动编号)之类的吧。

------解决方案--------------------
id列没有值怎么能够根据id列确定一条数据呢????
------解决方案--------------------
上一页面
<a href= "删除留言.asp?id= <%=rs( "id ")%> "> 删除 </a>
生成页面后,查看源文件,看id=后面是否有值.


提交页:
<%
id = trim(request.QueryString( "id "))
'*******************
'增加判断
if isnumeric(id) then id = clng(id) else response.wirte ( "Error ") : response.end
'*******************

str = " delete from lyb where Id= "&id
conn.execute (str)
response.Redirect( "显示留言.asp ")
set conn=nothing
%>