回麻雀苑主页          到麻雀苑-搜狐博客

4-9动态网页删除数据库数据

作者:老麻雀 2006-11-5 10:08:44

数据库数据的删除
  JSP动态网页删除数据库数据的操作,一般也是两种方式,一种是用于前台的,只能删除数据库表中的一条记录;另一种是用于后台供系统管理员操作,可以方便的删除表中的任何一条记录。动态网站的实际设计中,前台的数据删除,大多被称作为“用户注销”,“取消注册”等。
  数据库数据删除的设计思路,同前一节基本相同。
一、 范例的演示和代码清单
演示的前提和前几节完全相同。
演示步骤:
1. 启动IE,在地址栏键入http://127.0.0.1:8080/ch4/ch4-61.htm,用户名处,输入数据库表中,已经存在的一个用户名;密码处输入对应的密码。如图4-68所示窗口:
  
  图4-68
2. 单击“删除”按钮。出现“指定用户已经删除,请查询核实”的提示。并提供了“查询”的链接。如图4-69所示。如果提供的用户名或密码有误,屏幕将提示“用户名或密码输入错误!”。
  
  图4-69
3. 单击“返回查询全部”可以看到数据表中已经不存在被删除的数据了。
4. 单击“返回浏览删除”(在单独删除的窗口中,也有进入浏览删除的入口),则进入浏览删除的界面,如图4-70所示:
  
  图4-70
5. 网页窗口显示的是,数据库表中的所有数据记录。并且在每一条记录的后面,有一个“删除”的链接。单击任何一条数据记录后面的“删除”,该项数据记录即被删除。如果这条记录还显示在屏幕上,可以“刷新”一下网页,即可看到删除的记录,已经不存在。
二、 网页重点代码的分析
  这个范例有四个网页构成,ch4-61.htm和ch4-62.jsp完成单独删除的功能。由ch4-61.htm提供被删除对象的“用户名”、“密码”,ch4-62.js在数据库的表中删除对应的数据记录。
  ch4-63.jsp和dele.jsp共同完成浏览删除的功能。ch4-63.jsp实现方便的确定删除的记录,dele.jsp实现删除对应的数据记录。
静态网页(单独删除,输入删除对象)ch4-61.htm:
  ch4-61.htm:删除数据范例的起始网页。网页的主体是一个表单(单独删除),让用户输入需要删除数据记录对应的用户名和密码,表单的action指向ch4-61.jsp。
  表单下面,有一个链接“浏览删除”的入口,指向ch4-62.jsp。
  这个网页很简单,不再作具体分析。需要说明的是,在实际的网站设计中,“单独删除”和“浏览删除”不会设计到同一个页面上。“单独删除”是针对用户使用的,用于“用户注销”,“取消注册”,必须通过验证用户名和密码,以避免资料被他人非法删除。“浏览删除”是提供给系统管理员使用的,属于后台管理的组成部分,具有方便删除数据记录的能力。
查询要单独删除的记录,并删除数据,ch4-61.jsp的代码分析:
  这个动态网页的主要功能是两个部分。第一部分以ch4-61.htm提供的用户名和密码为条件,在数据库的表中查询对应的数据记录,如果查询不到,终止程序运行,提示用户“用户名或密码输入错误”,代码主要体现在第13行-19行:
13) Statement st=con.createStatement();
14) String strSql="select * from st where 姓名=""+name+"" and 密码=""+password+""";
15) ResultSet rs=st.executeQuery(strSql);
16) if (!rs.next())
17) {out.print("用户名或密码输入错误!");
18) out.print("<p align=center><a href=ch4-61.htm>返回删除首页</a></p>");
19) return;}
第13行-15行,运行条件查询SQL语句,将查询结果放入结果集rs。其中第14行中name和password的值是在第8-9行获得的。
第16行-19行,判断结果集rs中,没有对应数据,显示输出提示语句。
第二部分实现删除对应数据记录的操作,代码主要体现在第25行-27行:
25) Statement std = con.createStatement();
26) String Sql="delete from st where 姓名=""+name+""and 密码=""+password+""";
27) std.executeUpdate(Sql);
第26行中定义的SQL语句是一个条件删除语句。
浏览删除界面。ch4-63.jsp的代码分析:
  这个动态网页运行时,可以方便的选择表中任何一条记录,点击数据记录后面的“删除”链接,即可直接删除。这个网页也是前面查询全部数据的范例网页ch4-32.jsp的变形,只是在每一条数据记录后面,多了一个“删除”链接。它和上一节的ch4-53.jsp几乎完全相同。只是将“修改”链接该成了“删除”链接,链接的指向是dele.jsp。
  重点代码是第28行:
28) out.print("<tr><td>"+temp1+"<td align=center>"+temp2+"<td align=center>"+temp3 +"<td align=center>"+temp4+"<td align=center>"+temp5+"<td align=center>"+temp6+ "<td><a href="dele.jsp?name="+temp3+""><em>删除</em></a><tr>");
其中“<a href="dele.jsp?name="+temp3+""><em>删除</em></a>”是指向dele.jsp的链接,代码的含义是,链接到dele.jsp的同时,将temp3(姓名)的数值传送。使得dele.jsp运行同时取得需要获得的数据。
  上一节已经讲过,这是JSP的输入语句格式,这种格式的语句,可以直接在IE地址栏上直接使用键盘输入(访问动态网页的同时,输入提交数据)。这里再次说明它的格式和使用方法,在地址栏输入访问的文件名后,要紧跟一个“?”,表示后续有同时提交的数据(?前后不能有空格),提交的数据由数据项和数值构成,“=”等号前是数据项的名称,等号后是数据项的数值。可以同时提交多个数据,各个数据之间使用“&”隔开。下面是在IE地址栏直接访问动态网页并输入数据的两个示范:
> 访问dele.jsp动态网页,删除数据(删除用户名为“王五”的数据记录):
http://127.0.0.1:8080/ch4/dele.jsp?name=王五
> 访问ch4-31.jsp动态网页,添加数据(新数据记录的班级=042111,学号=01,姓名=赵圆圆,性别=女,密码=123,重复密码=123,email=zhao@sina.com):
http://127.0.0.1:8080/ch4/ch4-31.jsp?clas=042111&na=01&name=赵圆圆&sex=女&pass=123&repass=123&email=zhao@sina.com
  使用输入语句访问动态网页时,要保证数据项和数值的正确性,否则被访问的动态网页,会因获得的数据错误,不能正常运行。
浏览删除的执行页dele.jsp的代码分析:
  这个动态网页的代码比较简单。先连接数据库,然后运行条件删除SQL语句,最后跳转网页返回到ch4-63.jsp,显示数据库表中的数据。
  需要说明的是,这个网页中没有查询核对要删除数据的代码。因为在ch4-63.jsp中“删除”连接同时提交的数据,真实准确无需核对。另外,跳转网页返回ch4-63.jsp的代码,造成屏幕显示ch4-63.jsp的界面,使得系统管理员用户即看到了删除结果,又可以进行继续删除的操作。

 

 

我也说两句
E-File帐号:用户名: 密码: [注册]
评论:(内容不能超过500字,如果您不填写用户名和密码只能以游客的身份发表评论。)

*评论内容将在30分钟以后显示!
发文时请务必注意:
一、遵守国家相关法律规定,如 《北京地区互联网站电子公告服务倡议书》, 《全国人大常委会关于维护互联网安全的决定》 及中华人民共和国其他各项有关法律法规。一旦违犯法律法规,您将承担一切因您的行为而直接或间接导致的民事或刑事法律责任,本站工作人员有义务配合相关部门,提供必要的技术资料(如IP地址等)。
二、自觉遵守爱国、守法、自律、真实、文明的原则,严禁发表有人身攻击倾向、有造谣生事嫌疑的言论,严禁发表虚假广告、色情、网络传销性质的内容,本站管理人员有权删除违反规定的内容或取消违规网友的发文权限甚至删除其ID。

 

段保珠 版权所有     E-mail:dbz@sina.com
阿酷科技 Arkoo.com  提供底层技术