项目地址:https://gitee.com/martinHuang/jsp-basic/
终于进入数据库基础的最后一个环节,那就是更新数据了。这个操作对于初学者来说会稍微麻烦一些,要先从数据库中把我们想要的数据查询出来,然后再对数据进行更新。
我们开始吧~基本的原理跟之前增、查、删是一样一样的~可以相互参考
1、在WebContent下新建update_0.jsp文件,用于输入ID
输入如下内容
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>往数据库更新数据</title>
</head>
<body>
<form action="update_1.jsp" method="post">
<input type="text" name="id" placeholder="请输入id">
<input type="submit" value="确定">
</form>
</body>
</html>
2、再在WebContent文件夹下新建update_1.jsp文件,用于根据update_0.jsp传来的id号查询数据
输入如下内容
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="com.Database.*" %>
<%@ page import="java.sql.*"%>
<%
String id = request.getParameter("id");
conDB DB = new conDB();
String sql = "select * from personinfo where id = "+id;
DB.connectDB();
Statement state = DB.getConnection().createStatement();
ResultSet set = state.executeQuery(sql);
set.next();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>I更新第一步 查询数据</title>
</head>
<body>
<form action="FormAction/update.jsp" method="post">
<label>ID</label>
<input type="text" name="id" value="<%out.print(set.getString("id"));%>">
<label>name</label>
<input type="text" name="name" value="<%out.print(set.getString("name"));%>">
<label>birthProvince</label>
<input type="text" name="pro" value="<%out.print(set.getString("birthProvince"));%>">
<input type="submit" value="提交">
</form>
</body>
</html>
<%state.close();%>
3、在FormAction文件夹下新建update.jsp文件,用于更新的核心操作。
最后文件目录应该是这样的
在update.jsp文件中输入如下内容
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="com.Database.*" %>
<%@ page import="java.sql.*" %>
<%
request.setCharacterEncoding("utf-8");
String id = request.getParameter("id");
String name = request.getParameter("name");
String pro = request.getParameter("pro");
String sql = "update personinfo set name = '"+name+"',birthProvince = '"+pro+"' where id = "+id;
conDB DB = new conDB();
DB.connectDB();
Statement state = DB.getConnection().createStatement();
int flag = state.executeUpdate(sql);
if(flag > 0)
{
out.print("<script>alert('更新成功!');window.location.href='../update_0.jsp'</script>");
}
else
{
out.print("<script>alert('更新失败!');window.location.href='../update_0.jsp'</script>");
}
state.close();
%>
4、运行测试
我输入1
查询成功~
我把福建改成上海
点击提交
数据库中
OK!!