标题:奇怪的问题~
只看楼主
xinzhilei
Rank: 1
等 级:新手上路
帖 子:49
专家分:5
注 册:2007-3-27
结帖率:0
 问题点数:0 回复次数:2 
奇怪的问题~

为什么我就删不掉数据库里的数据

<%
bd=server.MapPath("../../data/#ymbase.mdb")
set conn=server.CreateObject("adodb.connection")
conn.Open "provider=microsoft.jet.oledb.4.0;data source="&bd

set rs=server.createobject("ADODB.recordset")
sql="delete * from pro where id='"&request("id")&"'"
rs.open sql,conn,1,3
%>
%>

我试过了直有传过来的

但是出现了这个错误~

错误类型:
Microsoft JET Database Engine (0x80040E07)
标准表达式中数据类型不匹配。
/yhxfc1/admin/gb/prodpost.asp, 第 10 行(rs.open sql,conn,1,3)

我以前都没出现这个错~

搜索更多相关主题的帖子: Microsoft request source 数据库 表达式 
2007-08-10 02:09
ouyangfeixue
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-8-6
得分:0 
其实很简单.在ACCESS数据库中,数字类型不要加单引号.你这个问题的解决就是:
sql="delete from pro where id="&request("id")&"",把单引号去了.问题就解决了。
rs.open sql,conn,1,3
还有一种写法就是:
sql="delete from pro where id="&request("id")&""
conn.execute(sql).
这个也是对的。用这个写法,执行效率更高.
在SQL SERVER 或ORACLE,或其他的数据库中,凡是数字类型的字段都要加单引号.也就是
sql="delete from pro where id='"&request("id")&"'"
如果还不明白的话就联系我,QQ:308046190.我的群:31758718.
2007-08-10 08:38
lq7350684
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5089
专家分:98
注 册:2006-11-6
得分:0 
是写法错了,根本就不是单引号的问题。
sql="delete * from pro where id='"&request("id")&"'"
换成
sql="delete from pro where id='"&request("id")&"'"
应该就可以了。
2007-08-10 09:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-161618-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.094276 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved