用jsp实现删除数据库表中的一行

 

话不多说,直接上图

381cb6e458aa4e93a03366ab9a7fbd7c.jpeg

一.思路

运用<a>标签将数据送到目标页面,实现对一行的删除。

语法:

1:form表单提交到的目标页面

2:输入主码的input的id

3:获取主码的值

<a href="12=<%=3%>">删除</a>

例子:<a href="删除图书.jsp?bianhao=<%=rs.getString("图书编号") %>">删除</a>

二.实战例子

下面的代码是获取library数据库中books表的数据,用于显示上图所示表格,数据库及表大家可以自己创建,下面代码中我创建的表属性名和<th>标签里的值是一样的。主键是图书编号。

表格.jsp

<%@ page language="java"  import="java.sql.Connection" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="表格样式.css">
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div id="div1">
<table>
<caption>图书资源表</caption>
<tr>
<th>图书编号</th>
<th>图书名</th>
<th>库存量</th>
<th>图书位置</th>
<th>操作</th>
</tr>
 <%
     String driverClass="com.mysql.jdbc.Driver";
     String url="jdbc:mysql://localhost:3306/library";
     String user="root";
     String password="123456";
     Connection conn;
     try{
    	 Class.forName(driverClass);
    	 conn=DriverManager.getConnection(url, user, password);
    	 Statement stmt=conn.createStatement();
    	 String sql="select * from books";
    	 ResultSet rs=stmt.executeQuery(sql);
    	 while(rs.next()){
   %>
  <tr>
<td id="accept"><%=rs.getString("图书编号") %></td>
<td><%=rs.getString("图书名") %></td>
<td><%=rs.getString("库存量") %></td>
<td><%=rs.getString("图书位置") %></td>
<td colspan="2"><a href="删除图书.jsp?bianhao=<%=rs.getString("图书编号") %>">删除</a></td>
<td><a href="图书form.jsp">添加</a></td>
</tr> 
    <%
    	 }
     }catch (Exception ex){
    	System.out.printf("访问失败");
    	 ex.printStackTrace();
    	
     }
   %>
   </table>
   </div>
</body>
</html>

表格样式.css

@charset "UTF-8";
  body {
        background-image: url(imge/2.jpg);
        background-size: cover;
    }
#accept {
        text-align: center;
        background-color: #CCDDFF;
        border: none;
        border-radius: 30px 20px;
       width: 60px;
        margin-left: 20px;
    }
table {
        margin-top: 30px;
        font-family: STKaiti;
        border-collapse: collapse;
        border: 1px dashed white;
    }
      tr, td,th {
        border: 1px dotted white;
        height: 30px;
        text-align: center;
    }
     table tr:hover {
        background-color: #CCDDFF;
    }
    #div1{
    margin-left:300px;
    margin-top:200px;
    }
  

1)删除功能实现

提交到的目标删除页面

删除图书.jsp

<%@ page language="java" import="java.sql.*" pageEncoding="UTF-8"%>
<html>
  <body>
   <%
   		request.setCharacterEncoding("UTF-8");
   		//获取值
   		String bianhao=request.getParameter("bianhao");
   		String bookname=request.getParameter("bookname");
   		String kucunliang=request.getParameter("kucunliang");
   		String location=request.getParameter("location");   		
   		Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/library","root","123456");
                                		
   		//删除数据
   		String sql="delete from books where 图书编号=?";
   		PreparedStatement p=conn.prepareStatement(sql);
   		p.setString(1,bianhao);
   		int i=p.executeUpdate();
   		out.println("成功删除!");	
   		p.close();
   		conn.close();
    %>
    	<a href='表格.jsp'>点我查看图书资源表</a>
  </body>
</html>

/****************如果只要实现删除操作,以下代码不需要写了*****************************/

2)添加图书功能

图书form.jsp

<%@ page language="java" import="java.sql.*" pageEncoding="UTF-8"%>
<html>
<head>
<link type="text/css" rel="stylesheet"  href="form表单.css">
</head>
  <body> 
  <div>
  <form  action="添加图书.jsp" method="get">
  <h1>图书编号</h1>
  <input required="required" type="text" name="bianhao" id="bianhao" /><br/>
  <h1>图书名</h1>
  <input type="text" name="bookname" id="bookname" /><br/>
  <h1>库存量</h1>
  <input type="text" name="kucunliang" id="kucunliang" /><br/>
  <h1>图书位置</h1>
  <input type="text" name="location" id="location" /><br/>
<h1>提交:</h1>
  	<input type="submit" value="添加"/>
  	<input name="" type="reset" value="清空" />
  </form>
 </div> 
 </body>
</html>

添加图书.jsp

<%@ page language="java" import="java.sql.*" pageEncoding="UTF-8"%>
<html>
  <body>
   <%
   		request.setCharacterEncoding("UTF-8");
   		//获取值
   		String bianhao=request.getParameter("bianhao");
   		String bookname=request.getParameter("bookname");
   		String kucunliang=request.getParameter("kucunliang");
   		String location=request.getParameter("location");   		
   		Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/library","root","123456");
                                		
   		//添加数据
   		String sql="insert into books (图书编号,图书名,库存量,图书位置) values(?,?,?,?)";
   		PreparedStatement p=conn.prepareStatement(sql);
   		p.setString(1,bianhao);
   		p.setString(2,bookname);
   		p.setString(3,kucunliang);
   		p.setString(4,location);
   		int i=p.executeUpdate();
   		out.println("成功添加!");	
   		p.close();
   		conn.close();
    %>
    	<a href='表格.jsp'>点我查看图书资源表</a>
  </body>
</html>

要点解析:request.getParameter(" ")用来获取表格中的数据,在删除操作中引号里面的值随便写,但在添加时,引号里面的值是form表单中input的id值。

一段可以不看的题外话

最后,一个小小的瑕疵就是我不清楚为什么上面的表格colspan没有成功合并列,如果大家有会的,欢迎在评论区留言或私聊我哟,谢谢咯,爱你们哟。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/746718.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

七天速通javaSE:第四天 递归算法

文章目录 前言一、递归的介绍二、递归模型&#xff08;n!&#xff09;1 阶乘的定义&#xff1a;2. 阶乘的递归代码实现3. 递推与回归的内部逻辑三、练习 前言 本文将学习递归算法。在计算机科学中&#xff0c;递归算法是一种将问题不断分解 为同一类子问题来解决问题的方法。递…

网站推广如何做?这七个方法要知道

在出海独立站商家中&#xff0c;推广是必不可少的环节。在你完成网站的搭建&#xff0c;产品的上架&#xff0c;以及网站的运营和优化后&#xff0c;你就可以开始着手推广你的网站了。你的网站是承载你的品牌和产品的主要平台&#xff0c;因此&#xff0c;你需要根据你的品牌和…

Windows Nginx更新版本

一、准备新版安装包 nginx: downloadhttps://nginx.org/en/download.html 二、升级Nginx 1、备份原Nginx 2、上传新版Nginx 上传并解压 3、更新版本 1&#xff09;原文件夹更新 1.关闭nginx 查看原版本号 nginx -v 命今关闭 nginx -s stop 确认进程里没有nginx&#…

ZGC垃圾收集的主要流程

值得说明的是&#xff0c;在执行就地迁移时&#xff0c;ZGC 必须首先压缩指定为对象迁移区域内的对象&#xff0c;这可能会对性能产生负面影响。增加堆大小可以帮助 ZGC 避免使用就地迁移。 如上图&#xff0c;ZGC 的工作流程主要包括以下几个步骤&#xff1a; &#xff08;STW…

DVWA 靶场 SQL Injection 通关解析

前言 DVWA代表Damn Vulnerable Web Application&#xff0c;是一个用于学习和练习Web应用程序漏洞的开源漏洞应用程序。它被设计成一个易于安装和配置的漏洞应用程序&#xff0c;旨在帮助安全专业人员和爱好者了解和熟悉不同类型的Web应用程序漏洞。 DVWA提供了一系列的漏洞场…

Python+Vue+Springboot实现电脑端微信好友导入导出

主要实现思路是使用python的自动化库uiautomation进行客户端抓取联系人&#xff0c;vue做管理界面&#xff0c;springboot做后端服务。 截图如下 登录&#xff1a; 首页 好友导出 不足之处就是只有windows版本&#xff0c;mac上还不行 而且谷歌和edge浏览器的效果是最好的&a…

面试-Java线程池

1.利用Excutors创建不同的线程池满足不同场景的需求 分析&#xff1a; 如果并发的请求的数量非常多&#xff0c;但每个线程执行的时间非常短&#xff0c;这样就会频繁的创建和销毁线程。如此一来&#xff0c;会大大降低系统的效率。 可能出现&#xff0c;服务器在为每个线程创建…

LAMP架构的源码编译环境下部署Discuz论坛

一、LAMP架构 LAMP架构是一种常见的用于构建动态网站的技术栈 组成功能Linux&#xff08;操作系统&#xff09;LAMP 架构的基础&#xff0c;用于托管 Web 服务器和应用程序Apache&#xff08;Web服务器&#xff09;接收和处理客户端请求&#xff0c;并将静态和动态内容发送给…

20240626让飞凌的OK3588-C开发板在相机使用1080p60分辨率下预览

20240626让飞凌的OK3588-C开发板在相机使用1080p60分辨率下预览 2024/6/26 15:15 4.2.1 全编译测试 在源码路径内&#xff0c;提供了编译脚本 build.sh&#xff0c;运行该脚本对整个源码进行编译&#xff0c;需要在终端切换到解压 出来的源码路径&#xff0c;找到 build.sh 文件…

设备智能化:中国星坤线缆组件的解决方案!

在当今快速发展的电子行业中&#xff0c;产品小型化和成本效益是制造商追求的两大目标。中国星坤端子电缆组件以其灵活性和高效性&#xff0c;为电子设备制造商提供了一种理想的解决方案。本文将探讨星坤端子电缆组件的优势以及其在不同电子设备中的应用。 端子线&#xff1a;小…

Spring AI 实现调用openAi 多模态大模型

什么是多模态? 多模态(Multimodal)指的是数据或信息的多种表现形式。在人工智能领域,我们经常会听到这个词,尤其是在近期大型模型(如GPT-4)开始支持多模态之后。 模态:模态是指数据的一种形式,例如文本、图像、音频等。每一种形式都是一种模态。多模态:多模态就是将…

uniapp地图点击获取位置

主页面 <view class"right-content" click.stop"kilometer(item)"><view class"km">{{item.distance||0}}km</view><image src"../../static/map.png" mode""style"width: 32rpx; height: 32rpx…

Linux-笔记 OverlayFS文件系统入门

目录 前言 主要概念 工作原理 特点特性 1、上下合并 2、同名文件覆盖 3、同名目录合并 4、写时拷贝 实操入门 内核配置 挂载文件系统 验证 1、同名文件覆盖 2、同名目录合并 3、写时拷贝 1&#xff09;验证新增文件或目录 2&#xff09;验证修改文件 3&…

2024最新谷歌镜像网站入口分享

google谷歌搜索引擎最新可用镜像站列表&#xff1a;&#xff08;注意不要登录账号&#xff0c;镜像站并非谷歌官方网站&#xff09; 谷歌镜像网站1&#xff1a;https://google.cloudnative.love/ 谷歌镜像网站2&#xff1a;https://gsearch.g.shellten.top/ 谷歌镜像网站3&…

【论文阅读】--Popup-Plots: Warping Temporal Data Visualization

弹出图&#xff1a;扭曲时态数据可视化 摘要1 引言2 相关工作3 弹出图3.1 椭球模型3.1.1 水平轨迹3.1.2 垂直轨迹3.1.3 组合轨迹 3.2 视觉映射与交互 4 实施5 结果6 评估7 讨论8 结论和未来工作致谢参考文献 期刊: IEEE Trans. Vis. Comput. Graph.&#xff08;发表日期: 2019&…

螺丝扭断力试验机SJ-12

一、设备简介&#xff1a; 螺丝扭断力试验机用于测试螺丝的耐扭断力。本机将螺丝产品所受到轴向扭转力与反作用力&#xff0c;常用扭力扳手来计量。本机可对产品进行转力测、锁动测试、锁动扭力测试等多种测试方式。 二、设备使用&#xff1a; 1、将螺丝强度扭力试验机底座锁于…

天润融通:AI赋能客户体验,推动企业收入和业绩增长

“客户体验已经成为全球企业差异化的关键。人工智能与数据分析等创新技术正在加速推动企业在客户体验计划中取得成功&#xff0c;以保持领先地位”。Customer Insights & Analysis 研究经理Craig Simpson说道。 客户体验 (CX&#xff0c;Customer Experience) 是客户在与企…

STM32CubeMX与RT-Thread Studio协助使用(实现点亮LED)

1创建自己的项目 1-1选择板子 1-2生成的项目 运行一下看是否创建成功 零警告零错误 2配置STM32Cude 2-1找打如图图标点击&#xff08;CubeMX的图标&#xff09; 2-2输入自己安装的路径选中exe文件 点击Browse 找到如图选中&#xff0c;在打开&#xff08;STM32CubeMX的安装路…

变长的时间戳设计,第2版

以前的时间戳有32位&#xff0c;以秒为单位&#xff0c;231秒≈68年&#xff0c;从1970年开始&#xff0c;到2038年会出问题。 现在的时间戳有64位&#xff0c;表达范围仍然受限。 设计变长的时间戳&#xff0c;以32位为单元&#xff0c;最短有32位&#xff0c;最长有328256位…