查看: 293  |  回复: 0
  如何10天学会ASP,第5天:写入记录
楼主
发表于 2023年4月6日 17:06

  学习目的:学会数据库的基本操作--写入记录

  数据库的基本操作无非是:查询记录,写入记录,删除记录,修改记录。

  今天我们先学习写入记录。先建立一个表单:(把下面文章保存为5.htm)

<form name="form1" method="post" action="exa5.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>

  表单提交到exa5.asp,下面是exa5.asp的代码: (把下面代码保存为5.asp)

<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data/guestbook.mdb")
name=request.form("name")
tel=request.form("tel")
message=request.form("message")
exec="insert into guest(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 guest(name,tel,message)values('"是第一段,在ASP里面不能嵌双引号,所以可以用'代替双引号,放在双引号里面,连接两个变量用+或者&所以"',"又是一段,中间夹了一个name就是表单传来的变量,这样就可以在这个变量外面加两个'',表示是字符串了,后面的tel是数字型变量所以不需要外面包围'',大家慢慢分析这句话,如果用表单传来的数据代替变量名字的话这句话为(假设name="aaa",tel=111,message="bbb"):"insert into guest(name,tel,message)values('aaa',111,'bbb')"。

  接下来的conn.execute 就是执行这个exec命令,最后别忘记把打开的数据库关闭,把定义的组件设置为空,这样可以返回资源。

  下面几条语句用于关闭数据库的代码:

<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>

  记住,次序不可以颠倒!可以到数据库里面去看一看,或者用duqu.asp读取看看是不是多了记录啊?


您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2024 MaNongKu.com