首页 /编程语言和算法/VB6/ASP
 如何10天学会ASP,第8天:修改记录
2023年4月6日 17:12

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

  先来看代码:(存为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来显示是否已经成功修改。


 
全部回复(0)
首页 | 电脑版 |