学习目的:学会数据库的基本操作--修改记录
先来看代码:(存为exam8.asp就可以了)
<% set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="
&server.mappath("data/guestbook.mdb") exec="select * from guest where id=" &request.form("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>name</td>
<td>tel</td>
<td>message</td>
</tr>
<tr>
<td>
<input type="text" name="name" value="<%=rs(" name")%>">
</td>
<td>
<input type="text" name="tel" value="<%=rs(" tel")%>">
</td>
<td>
<input type="text" name="message" value="<%=rs(" message")%>">
<input type="submit" name="Submit" value="提交">
<input type="hidden" name="id" value="<%=request.form(" id")%>">
</td>
</tr>
</table>
</form>
<% rs.close set rs=nothing conn.close set conn=nothing %>
到现在应该分析这个代码没有什么问题了吧,这个代码的作用是接受前面一个页面的ID然后显示这条记录,文本框即是输入的地方也是显示的地方,如果需要修改的话修改以后按提交;如果不需要修改就可以直接按提交按钮。
在这里因为本教程适合初学的,所以也把提交的表单内容给出来,把下面代码存为8.htm文件
<form name="form1" method="post" action="exam8.asp">
请输入要修改的记录的ID:
<input type="text" name="id">
<br>
<input type="submit" name="submit" value="提交">
</form>
这里还有一个东西以前没有说,那就是隐藏的表单元素:hidden元素,里面的value是不用用户输入的,会随着表单一起提交,用于传递变量。
下面是modifysave.asp的代码:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data/guestbook.mdb")
exec="select * from guest where id="&request.form("id")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,3
rs("name")=request.form("name")
rs("tel")=request.form("tel")
rs("message")=request.form("message")
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!
说到这里,记录的搜索,读取,修改,插入都说了,通过这最基本的东西就可以作出复杂的东西了,外面的大型数据库:新闻系统,留言簿就是字段多一点罢了。今天的示例中的代码是结合以前的数据库的,以后回去调试分析一下。
大家测试的流程:首先运行8.htm文件
单击提交后,在下图中修改记录
修改后单击提交,如下图,说明已经修改成功
可以利用以前的duqu.asp来显示是否已经成功修改。