第三章:应用数据库创建动态网页 第五节:编辑数据库中的纪录 要编辑或者删除纪录,首先我们要知道我们正在编辑或者正在删除的是那条记录。张冠李戴的话就不是我们想要的结果了 :) 前面讲数据库设计的时候,特别提到,一个表要有一个主键才能够确定纪录的唯一性,才不会造成删除或者编辑的错误。比如说我们要找一个叫张三的人,但是同时有十几个叫张三的人存在,这样我们就要根据一定的特征来确定哪个张三才是你要找的。主键也是如此,主键可以由一个子段组成,也可以由几个子段组成。对我们这个userinfo表来讲,主键就是名为ID的自动编号字段,这个ID值是唯一的,就是说我们只要知道一个ID就可以唯一的找到一条记录,这样,我们的编辑删除操作就可以正常进行了。
好,唠叨了这么久,就开始我们的旅行吧。
让我们打开我们开始做的那个数据显示的页面来,添加多两个单元格,分别做上编辑和删除的连接,如图。
编辑的连接为: edit.asp?id=<%=(Recordset1.Fields.Item("ID").Value)%>
删除的连接为: del.asp?id=<%(Recordset1.Fields.Item("ID").Value)%>
诸位要问了,这表示什么意思?,让我细细道来。
edit.asp?id=<%=(Recordset1.Fields.Item("ID").Value)%>
表示点击这个连接后会打开名为edit.asp的页面,并向这个页面传递一个名为id,值为<%=(Recordset1.Fields.Item("ID").Value)%>的参数,然后在edit.asp这个页面就会根据这个传递过去的参数来取出相应的记录进行处理。
朋友们看到了没有,<%=(Recordset1.Fields.Item("ID").Value)%>其实就是我们Data Bindings中的ID字段的值了。每一个记录对应只有一个唯一的ID值,也就是这个<%=(Recordset1.Fields.Item("ID").Value)%>,当edit.asp获得这个值的时候就能取出这条记录来,至于怎么取,让我们往下看。对了,对删除的连接也是做这样的处理。
新建一页,保存为edit.asp,然后我们像上面介绍的那样,开始创建记录集,但是这次的记录集创建过程有一些不一样了,如图所示:
以前我们创建记录集的时候并没有用到Filter。顾名思义,它是根据一定的条件来过滤掉某些我们不需要的数据。Filter里面列出的是你数据库表的字段,这里我们选择,然后将条件设置为" = " ,接着我们下拉ID下面的选择框,选择URL Parameter,填上ID。
为什么选这个?上面我们的连接形式不是:
edit.asp?id=<%=(Recordset1.Fields.Item("ID").Value)%> class="coffee">
吗,看出点端倪来了吧,edit.asp?id=....这个id就是URL Parameter了,是随你取的,只要我们在这里填对来。设置完这些后就表示,我们的记录集只选取ID字段的值等于我们传递过去的id的值。当然,因为我们只传了一个值过去,所以,取出来的记录将只有一条。
记录集取出来之后怎么修改呢?其实,就是相当于重新插入一遍数据。
打开菜单 Insert -> Live Objects -> Record Update Form
噢!是不是跟那个Record Insert Form很像啊,不同的地方只多了一项Unique Key Column (唯一关键字字段),也就是我们上面唠叨了半天的主键了,选择为ID字段,接下来的事就简单了,按照我们在添加纪录一节中学到的,修改到你满意为止。Defulat Value不用管它,最终结果如图所示。
好,咱么外甥打灯笼-照旧,打开浏览器来检验我们的成果,选择我们刚刚添加进取的纪录:dd 进行编辑,如图所示。
点击Update Record按钮后跳转到显示页面,如图所示,我们的数据已经被更改了,呵呵,开心吧!
OK,看完这个数据编辑的过程后,相信删除操作对你来将已经不是一件难事了,下一节我们将的讲解如何进行数据的删除。你也可以轻松一下了---毕竟这个编辑纪录的某些地方还是比较费解的 :)