学习目的:学会数据库的基本操作1(写入记录) 数据库的基本操作无非是:查询记录,写入记录,删除记录,修改记录。今天我们先学习写入记录。 先建立一个表单:
表单提交到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 记住,次序不可以颠倒! 大家可以到数据库里面去看一看,或者用example4.asp读取看看是不是多了记录阿?
|
十天学会ASP之第六天 | [ 作者:佚名 转贴自:本站原创 点击数:3086 更新时间:2004-4-6 文章录入:ywdong ] | 学习目的:学会数据库的基本操作2(查询记录) 在第四天中我们有这样一个程序: <% set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("example3.mdb") exec="select * from guestbook" set rs=server.createobject("adodb.recordset") rs.open exec,conn,1,1 %> 我们查询的是所有的记录,但是我们要修改、删除记录的时候不可能是所有记录,所有我们要学习检索合适的记录。先看一条语句: a="张三" b=111 exec="select * from guestbook where name='"+a+"'and tel="+b where后面加上的是条件,与是and,或是or,我想=,<=,>=,<,>的含义大家都知道吧。这句话的意思就是搜索name是张三的,并且电话是111的记录。还有一点就是如果要搜索一个字段里面是不是包含一个字符串就可以这么写:where instr(name,a)也就是搜索name里面有a(张三)这个字符串的人。 我这里的a,b,是常量,大家可以让a,b是表单提交过来的变量,这样就可以做一个搜索了。 下面大家看看这个代码,理解一下:
example6.asp: <% name=request.form("name") tel=request.form("tel") set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("example3.mdb") exec="select * from guestbook where name='"+name+"' and tel="+tel set rs=server.createobject("adodb.recordset") rs.open exec,conn,1,1 %>
<% do while not rs.eof %>
<%=rs("name")%> |
<%=rs("tel")%> |
<%=rs("message")%> |
<%=rs("time")%> |
<% rs.movenext loop %>
今天实际上就讲了一个where,大家回去做做试验,把instr()做进去,明天见! |
|
|