ASP修改记录的问题 20
数据库名是:test.mdb,表名是:test,里面有aa,bb两个文本类型的字段。<%setconn=server.CreateObject("adodb.connec...
数据库名是:test.mdb,表名是:test,里面有aa,bb两个文本类型的字段。
<%
set conn=server.CreateObject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")
exec="select * from test where id="&request.QueryString("id")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn
%>
<form name="form1" method="post" action="modifysave.asp">
<table width="248" border="1">
<tr>
<td width="33" height="48">aa</td>
<td width="199"><input type="text" name="aa" value="<%=rs("aa")%>">
<label></label></td>
</tr>
<tr>
<td>bb</td>
<td><label>
<input type="text" name="bb" value="<%=rs("bb")%>">
</label></td>
</tr>
<tr>
<td colspan="2"><label>
<input type="submit" name="Submit" value="提交">
</label>
<label>
<input type="reset" name="Submit2" value="重置">
<input type="hidden" name="id" value="<%=request.QueryString("id")%>">
</label></td>
</tr>
</table>
</form>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
下面是:modifysave.asp的代码。
<%
set conn=server.CreateObject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")
exec="select * from test where id="&quest.form("id")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,3
rs("aa")=request.form("aa")
rs("bb")=request.form("bb")
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'id=' 中。
/do8.asp, 第 6 行 展开
<%
set conn=server.CreateObject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")
exec="select * from test where id="&request.QueryString("id")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn
%>
<form name="form1" method="post" action="modifysave.asp">
<table width="248" border="1">
<tr>
<td width="33" height="48">aa</td>
<td width="199"><input type="text" name="aa" value="<%=rs("aa")%>">
<label></label></td>
</tr>
<tr>
<td>bb</td>
<td><label>
<input type="text" name="bb" value="<%=rs("bb")%>">
</label></td>
</tr>
<tr>
<td colspan="2"><label>
<input type="submit" name="Submit" value="提交">
</label>
<label>
<input type="reset" name="Submit2" value="重置">
<input type="hidden" name="id" value="<%=request.QueryString("id")%>">
</label></td>
</tr>
</table>
</form>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
下面是:modifysave.asp的代码。
<%
set conn=server.CreateObject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")
exec="select * from test where id="&quest.form("id")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,3
rs("aa")=request.form("aa")
rs("bb")=request.form("bb")
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'id=' 中。
/do8.asp, 第 6 行 展开
5个回答
展开全部
我没写过asp,但你的修改只少得有update sql语句吧。
<%
set conn=server.CreateObject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")
exec="update test set aa="&request.form("aa") &",bb="&request.form("bb") &" where id="&request.form("id")
'后边怎么写,我不熟悉asp语法,但要做的事是:执行这个sql语句就ok了。
%>
<%
set conn=server.CreateObject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")
exec="update test set aa="&request.form("aa") &",bb="&request.form("bb") &" where id="&request.form("id")
'后边怎么写,我不熟悉asp语法,但要做的事是:执行这个sql语句就ok了。
%>
展开全部
rs.open exec,conn
应该改为
rs.open exec,conn,1,3
其它地方看暂无错误,但是我建议你把数据库连接单独放在一个ASP文件里,这样方便以后维护
set conn=server.CreateObject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")
放在一个CONN.ASP页面内,以后只要页面用到数据库连接,则把CONN.ASP页面包含进来即可
<!--#include file="CONN.ASP"-->
应该改为
rs.open exec,conn,1,3
其它地方看暂无错误,但是我建议你把数据库连接单独放在一个ASP文件里,这样方便以后维护
set conn=server.CreateObject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")
放在一个CONN.ASP页面内,以后只要页面用到数据库连接,则把CONN.ASP页面包含进来即可
<!--#include file="CONN.ASP"-->
更多追问追答
追问
修改了也不行提示:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'id=' 中。
/do8.asp, 第 6 行
追答
哦,这个问题我看是因为request.form("id")没有值到值,你把SQL语句输出来看下呢?用request("id")来看取得到值不吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
exec="select * from test where id="&quest.form("id")
应该改成
exec="select * from test where id="&request.form("id")
少了东西了吧。
应该改成
exec="select * from test where id="&request.form("id")
少了东西了吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
quest.form("id")
改成
request.form("id")
改成
request.form("id")
更多追问追答
追问
改过也不行
追答
首先错误出现在 /do8.asp, 第 6 行
那么放弃 modifysave.asp 页 就算有错 也是在do8.asp 进行提交之后才会有错
如果do8.asp 你贴的完整的话 那么应该检查
set conn=server.CreateObject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")
exec="select * from test where id="&request.QueryString("id")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn
----------看一下数据库是否连接正确 ,如果正确的话 那么检查 你打开这个页面的时候
是怎么打开的。。。是直接do8.asp 打开 还是do8.asp?id=值打开
如果是直接打开,那么肯定会出那个问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
exec="select * from test where id="&request.QueryString("id")
和
set rs=server.createobject("adodb.recordset")
换下位置
然后rs.open exec,conn
改成
rs.open exec,conn3,3看下
和
set rs=server.createobject("adodb.recordset")
换下位置
然后rs.open exec,conn
改成
rs.open exec,conn3,3看下
更多追问追答
追问
不行,还是提示错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'id='
追答
xdownx的方法是对的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询