| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1789 人关注过本帖
标题:[求助]还是数据库和ASP的问题
取消只看楼主 加入收藏
Pejaxx
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-6-4
收藏
 问题点数:0 回复次数:14 
[求助]还是数据库和ASP的问题

这是一个例子的教程:

先建立一个表单:
<form name="form1" method="post" action="example5.asp">
name <input type="text" name="name"><br>
tel <input type="text" name="tel"><br>
message <input type="text" name="message" value=""><br>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重置">
</form>
表单提交到example5.asp,下面是example5.asp的代码:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("example3.mdb")
name=request.form("name")
tel=request.form("tel")
message=request.form("message")
exec="insert into guestbook(name,tel,message)values('"+name+"',"+tel+",'"+message+"')"
conn.execute exec
conn.close
set conn=nothing
response.write "记录添加成功!"
%>
在这里前面两句我不说了,后面三句我也不说了,前面说过exec里面的是执行的命令,添加记录的比较繁,大家要仔细看。insert into后面加的是表的名字,后面的括号里面是需要添加的字段,不用添加的或者字段的内容就是默认值的可以省略。注意,这里的变量一定要和ACCESS里面的字段名对应,否则就会出错。values后面加的是传送过来的变量。exec是一个字符串,"insert into guestbook(name,tel,message)values('"是第一段,在ASP里面不能嵌双引号,所以可以用'代替双引号,放在双引号里面,连接两个变量用+或者&所以"',"又是一段,中间夹了一个name就是表单传来的变量,这样就可以在这个变量外面加两个'',表示是字符串了,后面的tel是数字型变量所以不需要外面包围'',大家慢慢分析这句话,如果用表单传来的数据代替变量名字的话这句话为(假设name="aaa",tel=111,message="bbb"):"insert into guestbook(name,tel,message)values('aaa',111,'bbb')"。
接下来的conn.execute 就是执行这个exec命令,最后别忘记把打开的数据库关闭,把定义的组件设置为空,这样可以返回资源。上次的读取为了简单,我没有关闭,大家可以补充上去:
rs.close
set rs=nothing
conn.close
set conn=nothing
记住,次序不可以颠倒!


表单我建立了:1.htm
example3.mdb也建立了其中有数据
example5.asp也照上面写的一样

可我打开1.htm 填入数据按提交后页面跳转到example5.asp,显示:

<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("example3.mdb")
name=request.form("name")
tel=request.form("tel")
message=request.form("message")
exec="insert into guestbook(name,tel,message)values('"+name+"',"+tel+",'"+message+"')"
conn.execute exec
conn.close
set conn=nothing
response.write "记录添加成功!"
%>

然后我进example3.mdb查看数据并没有填加进去,不知是哪里出了差错,各位请帮忙看下,初学者
如果直接打开example5.asp的话,就是无法显示网页

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] INSERT INTO 语句的语法错误。
/example5.asp, 第 8 行

[此贴子已经被作者于2007-6-5 21:19:18编辑过]

搜索更多相关主题的帖子: 数据库 name input ASP 
2007-06-05 21:17
Pejaxx
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-6-4
收藏
得分:0 

那个数据库中的数据是我随便写的,因为是照着例子做的缘故
但name,tel,message都是有的

2007-06-05 21:36
Pejaxx
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-6-4
收藏
得分:0 
显示“记录添加成功!”

2007-06-05 22:00
Pejaxx
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-6-4
收藏
得分:0 
数据库有记录。。
2007-06-05 22:03
Pejaxx
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-6-4
收藏
得分:0 
那表单1.HTM写入提交的数据传不到example5.asp?
2007-06-05 22:10
Pejaxx
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-6-4
收藏
得分:0 
<form name="form1" method="post" action="example5.asp">
name <input type="text" name="name"><br>
tel <input type="text" name="tel"><br>
message <input type="text" name="message" value=""><br>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重置">
</form>
2007-06-05 22:18
Pejaxx
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-6-4
收藏
得分:0 

好象还是不行

显示:

<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("example3.mdb")
name=request.Form("name")
tel=request.Form("tel")
message=request.Form("message")
exec="insert into guestbook(name,tel,message)values('"+name+"',"+tel+",'"+message+"')"
conn.execute exec
conn.close
set conn=nothing
response.write "记录添加成功!"
%>

[此贴子已经被作者于2007-6-5 22:38:22编辑过]

2007-06-05 22:36
Pejaxx
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-6-4
收藏
得分:0 
以下是引用madpbpl在2007-6-5 23:09:10的发言:
name=request.Form("name")
tel=request.Form("tel")
message=request.Form("message")
在这下面加上
response.write (name)
response.write (tel)
response.write (message)
看看值有没有传过来

现在OK了,就是记录添加成功前面有输入的name、tel、message
看来这种教程的例子还是有许多错误的地方的

2007-06-05 23:23
Pejaxx
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-6-4
收藏
得分:0 
以下是引用YSKING在2007-6-5 23:22:18的发言:

传过来了,我这运行得的,不知道你那出了什么问题

真是奇了怪了,刚才试还不行,现在再试一次你的方法也成了
谢谢

2007-06-05 23:25
Pejaxx
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-6-4
收藏
得分:0 
似乎发现问题所在了,我在本地文件夹里打开1.htm输入后提交无效,但在浏览器里直接输入ip(xx.xx.xx.xx/1.htm)问题就没有了

还有个问题

例子里写的
rs.close
set rs=nothing
conn.close
set conn=nothing
应该添加在哪?
2007-06-05 23:29
快速回复:[求助]还是数据库和ASP的问题
数据加载中...
 
   



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

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