| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1149 人关注过本帖
标题:在学习《十天学会ASP》中遇到的问题
只看楼主 加入收藏
蔚蓝冰帝
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-25
收藏
 问题点数:0 回复次数:13 
在学习《十天学会ASP》中遇到的问题

学习目的:学会数据库的基本操作4(修改记录)
先来看代码:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("test.mdb")//这不是以前的一个数据库,里面就aa,bb两个字段
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="748" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>aa</td>
<td>bb</td>
</tr>
<tr>
<td>
<input type="text" name="aa" value="<%=rs("aa")%>">
</td>
<td>
<input type="text" name="bb" value="<%=rs("bb")%>">
<input type="submit" name="Submit" value="提交">
<input type="hidden" name="id" value="<%=request.querystring("id")%>">
</td>
</tr>
</table>
</form>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
大家到现在应该分析这个代码没有什么问题,这个代码的作用是接受前面一个页面的ID然后显示这条记录,文本框即是输入的地方也是显示的地方,如果需要修改的话修改以后按提交;如果不需要修改就可以直接按提交按钮。这里还有一个东西以前没有说,那就是隐藏的表单元素:hidden元素,里面的value是不用用户输入的,会随着表单一起提交,用于传递变量。下面是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="&request.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
%>
在这里,rs.open exec,conn,1,3后面的参数是1,3,这我以前提过,修改记录就要用1,3。实际上修改记录很容易看懂,记录集是rs,rs("aa")就是当前记录aa字段的东西,让它等于新的数据request.form("aa")当然就修改了,不过最后别忘记保存,那就是rs.update!
说到这里,记录的搜索,读取,修改,插入都说了,通过这最基本的东西就可以作出复杂的东西了,外面的大型数据库:新闻系统,留言簿就是字段多一点罢了。今天的示例中的代码是结合以前的数据库的,大家DOWN了以后回去调试分析一下。(rar里面的那个example72.asp还是供大家查询记录ID和核对修改以后的记录用的)

这是里面第八天的内容..我先建了一个xiugai.html文件然后把第一个代码复制进去.然后又建了一个modifysave.asp文件

把第二个代码复制进去..又建了一个TEST.mdb的数据库...接着就运行调试..可老是出现

ASP服务器发现运行时错误:
错 误 码:0x80040E14
错误代码:rs.open exec,conn,1,3
错误描述:[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'id="&request.form("id")


修改了几次还是这样...

请求帮助......
搜索更多相关主题的帖子: 十天学会ASP 学习 
2006-10-25 11:16
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
收藏
得分:0 
request.form("id")
这个值没有传过来,检查上一个页面

http://www./
2006-10-25 11:35
猫色色
Rank: 2
等 级:论坛游民
帖 子:135
专家分:25
注 册:2006-6-8
收藏
得分:0 
你把ID="&request.form("id")
改成id="&request("id")
看看呢1

我们在成长
2006-10-25 21:06
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
楼主这两个页面是放在同一目录下面?
2006-10-25 21:32
dth_mxr
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-10-2
收藏
得分:0 
你把ID="&request.form("id")
改成id=request("id")
2006-10-26 08:17
蔚蓝冰帝
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-25
收藏
得分:0 

我写了两个文件了啊..

3楼的和5楼的方法我用过了..也不行...



道路再坚难都不能止步
2006-10-26 10:14
fengmumei
Rank: 2
等 级:论坛游民
威 望:2
帖 子:298
专家分:14
注 册:2006-9-16
收藏
得分:0 
第二个页面中: id="&request.form("id")
其实,你用id=request("id")就行
第一个页面中:id="&request.querystring("id")

request.querystring("id")中的id有值吗?
输出一下看看



随缘不变,不变随缘
2006-10-26 13:29
大虾飞龙
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-9-12
收藏
得分:0 
第一个代码是什么,拿来看看
2006-10-26 18:49
蔚蓝冰帝
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-25
收藏
得分:0 

第一个代码就是顶楼的第一段代码..第二就是第二了..

这几天一直不明白..后来有人建议先学C再学ASP可能会好些..所以近几天都在关注C了

道路再坚难都不能止步
2006-10-27 18:43
yaxuxu
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2006-10-11
收藏
得分:0 
确定在你的数据库表中有id这个字段吗??
2006-10-27 19:12
快速回复:在学习《十天学会ASP》中遇到的问题
数据加载中...
 
   



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

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