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

ASP新手,遇到问题了,求教大侠!急!!

影子第一 发布于 2008-02-02 10:56, 2188 次点击
错误显示:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'ID=' 中。

/serch/modify.asp,行 8
原代码段:
<%
set conn = server.CreateObject("ADODB.Connection")
conn.open "ytdb"
ID= request.QueryString("ID")
set rs = server.CreateObject("ADODB.Recordset")
SqlStr = "select * from 商家数据总列表 where ID="&ID
Set Rs = Conn.Execute(SqlStr)

%>
25 回复
#2
影子第一2008-02-02 11:02
谁来帮帮我呀!在线等待。。。。。
#3
madpbpl2008-02-02 11:04
ID= request.QueryString("ID")        '这里的问题,说明id没有取到值
#4
影子第一2008-02-02 11:06
终于有人了
那该怎么改呢?
#5
madpbpl2008-02-02 11:30
你的ID是如何传值给来的?
#6
影子第一2008-02-02 11:32
<form method="post" action="PostModify.asp">
<input type= hidden name="ID" value=<%=ID%>>
序列号:<input type="text" name="xlh" value="<%=rs("序列号")%>">
#7
madpbpl2008-02-02 11:35
ID= request.QueryString("ID")
改成
ID= request.Form("ID")
#8
影子第一2008-02-02 11:35
在做其他页面的时候每逢传值都是同样的问题,把post改成get也是一样的错误
#9
影子第一2008-02-02 11:36
试过了,还是不行
#10
dhdhzzw2008-02-02 11:42
value=<%=ID%>  哪来的?
也就是你这里文本字段里的值<%=ID%>是哪里传递来的?
还有些东西最好写全,不要省略,以免条件多了你自己都看不懂

SqlStr = "select * from 商家数据总列表 where ID="&ID
改为
SqlStr = "select * from 商家数据总列表 where ID='"&ID&"'"
#11
影子第一2008-02-02 11:48
改过来是新错误:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'

[Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。

/serch/modify.asp,行 8
#12
dhdhzzw2008-02-02 11:58
把你的这个页面内容写全行么?
就这两行代码,一个文本与传递,一个数据库取值,谁知道你其他相关代码的有没有错啊,写全好么?
<input type= hidden name="ID" value=<%=ID%>>把这里的value=<%=ID%>去掉,因为你这里的<%id%>没赋值啊,谁知道他从那边来的
#13
影子第一2008-02-02 12:01
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "ytdb"
ID=Request.Form("ID")
Set rs = Server.CreateObject("ADODB.Recordset")
SqlStr = "Select * from 商家数据总列表 where ID='"&ID&"'"
Set Rs = Conn.Execute(SqlStr)

%>
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>修改商家详细信息</title>
</head>
<body>
<p><font face="幼圆" size="+3"><b>修改商家数据</b></font></p>
<form method="post" action="PostModify.asp">
<input type= hidden name="ID">
序列号:<input type="text" name="xlh" value="<%=rs("序列号")%>">
<p>分类:  <input type="text" name="fl" size="20" value="<%=rs("分类")%>"></p>
<p>合同编号ID: <input type="text" name="htbh" size="20" value="<%=rs("合同编号ID")%>"></p>
<p>用户名/注释: <input type="text" name="yhm" size="20" value="<%=rs("用户名/注释")%>"></p>
<p>商家全称: <input type="text" name="sjqc" size="20" value="<%=rs("商家全称")%>"></p>
<p>商家简称: <input type="text" name="sjjc" size="20" value="<%=rs("商家简称")%>"></p>
<p>折扣: <input type="text" name="zk" size="20" value="<%=rs("折扣")%>"></p>
<p>优惠详情: <input type="text" name="yhxq" size="20" value="<%=rs("优惠详情")%>"></p>
<p>附加协议: <input type="text" name="fjxy" size="20" value="<%=rs("附加协议")%>"></p>
<p>经营地址: <input type="text" name="jydz" size="20" value="<%=rs("经营地址")%>"></p>
<p>办公地址: <input type="text" name="bgdz" size="20" value="<%=rs("办公地址")%>"></p>
<p>办公电话: <input type="text" name="bgdh" size="20" value="<%=rs("办公电话")%>"></p>
<p>联系人: <input type="text" name="lxr" size="20" value="<%=rs("联系人")%>"></p>
<p>联系电话: <input type="text" name="lxdh" size="20" value="<%=rs("联系电话")%>"></p>
<p>传真号码: <input type="text" name="czhm" size="20" value="<%=rs("传真号码")%>"></p>
<p>QQ: <input type="text" name="QQ" size="20" value="<%=rs("QQ")%>"></p>
<p>E-mail: <input type="text" name="Email" size="20" value="<%=rs("E-mail")%>"></p>
<p>网址: <input type="text" name="wz" size="20" value="<%=rs("网址")%>"></p>
<p>签约日期: <input type="text" name="qyrq" size="20" value="<%=rs("签约日期")%>"></p>
<p>截至日期: <input type="text" name="jzrq" size="20" value="<%=rs("截止日期")%>"></p>
<p>归档日期: <input type="text" name="gdrq" size="20" value="<%=rs("归档日期")%>"></p>
<p>资料: <input type="text" name="zl" size="20" value="<%=rs("资料")%>"></p>
<p>业务员: <input type="text" name="ywy" size="20" value="<%=rs("业务员")%>"></p>
<p>商家备注: <input type="text" name="sjbz" size="20" value="<%=rs("商家备注")%>"></p>
<p>网络部备注: <input type="text" name="wlbbz" size="20" value="<%=rs("网络部备注")%>"></p>
<p>市场部备注: <input type="text" name="scbbz" size="20" value="<%=rs("市场部备注")%>"></p>
<p>客服部备注: <input type="text" name="kfbbz" size="20" value="<%=rs("客服部备注")%>"></p>
<p>校对: <input type="text" name="jd" size="20" value="<%=rs("校对")%>"></p>
<p> <input type="submit" name="b1"  value="保存修改">??
 <input type="reset" name="b2" size="20" value="全部重写">?
  <input name="b3" onclic="document.location.href='index.html';"style="CURSOR:hand;WIDTH:80px"type="button" value="返回"></p>
</p>
</form>
<%
RS.CLOSE
SET RS =NOTHING
%>

</body>
</html>
#14
dhdhzzw2008-02-02 12:27
不多说了,自己仔细想想吧
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "ytdb"
[bo]ID=Request.Form("ID")[/bo]----这里传递过来一个ID那我想问问你的下面文本框内数据显示正确么,保存页就是本页么?不是的话你在这里传递id干吗?在下一页传递。。。
Set rs = Server.CreateObject("ADODB.Recordset")
SqlStr = "Select * from 商家数据总列表 where ID='"&ID&"'"
Set Rs = Conn.Execute(SqlStr)

%>
#15
madpbpl2008-02-02 12:37
这个页面是从哪个页面传值过来的?
ID=Request.Form("ID")改成
ID=Request("ID")
而且没有看出你是如何修改数据的。
#16
影子第一2008-02-02 13:27
传值在另一个页面。多谢哦
我再看看
#17
影子第一2008-02-02 13:30
保存页面的代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<%
set conn = server.CreateObject("adodb.connection")
conn.open "ytdb"
ID=Request.Form("ID")
xlh=Request("xlh")
fl=Request("fl")
htbh=Request("htbh")
yhm=Request("yhm")
sjqc=Request("sjqc")
sjjc=Request("sjjc")
zk=Request("zk")
yhxq=Request("yhxq")
fjxy=Request("fjxy")
jydz=Request("jydz")
bgdz=Request("bgdz")
bgdh=Request("bgdh")
lxr=Request("lxr")
lxdh=Request("lxdh")
czhm=Request("czhm")
QQ=Request("QQ")
Email=Request("Email")
wz=Request("wz")
qyrq=Request("qyrq")
jzrq=Request("jzrq")
gdrq=Request("gdrq")
zl=Request("zl")
ywy=Request("ywy")
sjbz=Request("sjbz")
wlbbz=Request("wlbbz")
scbbz=Request("scbbz")
kfbbz=Request("kfbbz")
jd=Request("jd")
tjxzd=Request("tjxzd")
if trim(sjqc)=""then
response.write "商家名称不能为空,请重新输入!"
response.end
end if
SqlStr="UPDATE 商家数据总列表 SET 序列号='"&xlh&"', 分类='"&fl&"',合同编号ID='"&htbh&"',用户名/注释='"&yhm&"',商家全称='"&sjqc&"',商家简称='"&sjjc&"',折扣='"&zk&"',优惠详情='"&yhxq&"',附加协议='"&fjxy&"',经营地址='"&jydz&"',办公地址='"&bgdz&"',办公电话='"&bgdh&"',联系人='"&lxr&"',联系电话='"&lxdh&"',传真号码='"&czhm&"',QQ='"&QQ&"',E-mail='"&Email&"',网址='"&wz&"',签约日期=#"&qyrq&"#,截止日期=#"&jzrq&"#,归档日期=#"&gdrq&"#,资料='"&zl&"',业务员='"&ywy&"',商家备注='"&sjbz&"',网络部备注='"&wlbbz&"',市场部备注='"&scbbz&"',客服部备注='"&kfbbz&"',校对='"&jd&"',添加新字段='"&tjxzd&"'where ID='"&ID&"'"
Conn.Execute(SqlStr)
Response.Redirect"index.html"
%>
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
</body>
</html>
#18
madpbpl2008-02-02 13:41
[bo]以下是引用 [un]影子第一[/un] 在 2008-2-2 13:27 的发言:[/bo]

传值在另一个页面。多谢哦
我再看看

问题就在传值页面,你看看值有没有传过去
在接收页面用
Response.Write (Request("ID"))        '测试ID的值是否传过来了?
#19
影子第一2008-02-02 14:00
显示同样的错误,没办法测试啊
#20
dhdhzzw2008-02-02 14:21
注意你输入的文字中不要有空格
#21
madpbpl2008-02-02 14:22
你的传值页面如何写的?
#22
yms1232008-02-02 14:25
asp里method不同接收方式是不同的
get可以用request("元素名")接收
post就得用request.form("元素名")接收
接收方法要保持一致。
#23
影子第一2008-02-02 14:28
回复 21# 的帖子
不好意思
<%do while not rs.eof%>
<tr>
<td align="center" bgcolor="#ffffff" width="10%">
<ahref = "modify.asp? ID=<%=rs("ID")%>" title="修改"><%=rs("分类")%></a>
</td>
<td align="center" bgcolor="#ffffff" width="10%"><%=rs("合同编号ID")%></td>
<td align="center" bgcolor="#ffffff" width="10%"><%=rs("商家全称")%></td>
<td align="center" bgcolor="#ffffff" width="10%"><%=rs("折扣")%></td>
<td align="center" bgcolor="#ffffff" width="10%"><%=rs("优惠详情")%></td>
<td align="center" bgcolor="#ffffff" width="10%"><%=rs("经营地址")%></td>
<td align="center" bgcolor="#ffffff" width="10%"><%=rs("联系人")%></td>
<td align="center" bgcolor="#ffffff" width="10%"><%=rs("联系电话")%></td>
<td align="center" bgcolor="#ffffff" width="10%">
<a href="modify.asp? ID = <%=rs("ID")%>">修改</a>
</td>
</tr>
<%
rs.movenext
loop%>
<%
Rs.close
Set Rs = Nothing
Conn.Close
Set Conn =Nothing
end if
%>

[[it] 本帖最后由 影子第一 于 2008-2-2 17:08 编辑 [/it]]
#24
影子第一2008-02-02 17:09
是说这个吗?
#25
madpbpl2008-02-02 17:14
<input type= hidden name="ID">
改成
<input type= hidden name="ID" value="<%=rs("id")%>">

<%ID=Request.form("ID")%>
改成
<%ID=Request("ID")%>
sql语句如果id的数据类型是自动编号,则去掉ID上的“'”
#26
影子第一2008-02-02 17:30
试试看,多谢了哈
1