jsp结合SQLSERVER向数据库中的表添加图书信息。

已知数据库中存在表tb_book2,通过在图书信息界面填写书本的基本信息,然后提交后写入数据库中的表格中。需要对提交的信息进行修改,信息填入不能为空,为空则则有提示。例如插入一条信息:name=考研英语,price=45 ,bookCount=5,author=小芳
在这里插入图片描述
图书的属性进行封装利用javaBean

package com.zheng;

public class BookBean {
	private int id; // 编号
	private String name; // 图书名称
	private double price; // 价格
	private int bookCount; // 数量
	private String author; // 作者

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public double getPrice() {
		return price;
	}

	public void setPrice(double price) {
		this.price = price;
	}

	public int getBookCount() {
		return bookCount;
	}

	public void setBookCount(int bookCount) {
		this.bookCount = bookCount;
	}

	public String getAuthor() {
		return author;
	}

	public void setAuthor(String author) {
		this.author = author;
	}

}

信息填写界面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>添加图书信息</title>
<script type="text/javascript">
	function check(form) {
		if (form.name.value == "") {
			alert("图书名称不能为空");
			return false;
		}
		if (form.price.value == "") {
			alert("定价不能为空");
			return false;
		}
		if (form.author.value == "") {
			alert("作者不能为空");
			return false;
		}
		return true;
	}
</script>
<style type="text/css">
ul {
	list-style: none; /*设置不显示项目符号*/
	margin: 0px; /*设置外边距*/
	padding: 5px; /*设置内边距*/
}

li {
	padding: 5px; /*设置内边距*/
}
</style>
</head>
<body>
	<form action="addBook.jsp" method="post" onsubmit=" return check(this)">
		<ul>
			<li>图书名称:<input type="text" name="name" /></li>
			<li>价  格:<input type="text" name="price" /></li>
			<li>数  量:<input type="text" name="bookCount" /></li>
			<li>作  者:<input type="text" name="author" /></li>
			<li><input type="submit" value="添 加"></li>
		</ul>
	</form>
</body>
</html>

向数据库中添加信息

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<%
	request.setCharacterEncoding("UTF-8");
%>
<jsp:useBean id="book" class="com.zheng.BookBean"></jsp:useBean>
<jsp:setProperty property="*" name="book" />
<!-- 通过通配符的形式表单元素的值自动给同名的book属性命名 -->
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>保存图书信息</title>
</head>
<body>
	<%
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 加载数据库驱动,注册到驱动管理器
			String url = "jdbc:sqlserver://localhost:1433;databaseName=test";//test为你的数据库名
			String username = "zheng"; // 数据库用户名
			String password = "123"; // 数据库密码
			Connection conn = DriverManager.getConnection(url, username, password); // 创建Connection连接
			String sql = "insert into tb_book2(name,price,bookCount,author) values(?,?,?,?)"; // 添加图书信息的SQL语句
			PreparedStatement ps = conn.prepareStatement(sql); // 获取PreparedStatement

			ps.setString(1, book.getName()); // 对SQL语句中的第1个参数赋值
			ps.setDouble(2, book.getPrice()); // 对SQL语句中的第2个参数赋值
			ps.setInt(3, book.getBookCount()); // 对SQL语句中的第3个参数赋值
			ps.setString(4, book.getAuthor()); // 对SQL语句中的第4个参数赋值
			int row = ps.executeUpdate(); // 执行更新操作,返回所影响的行数
			if (row > 0) { // 判断是否更新成功
				out.print("成功添加了 " + row + "条数据!"); // 更新成输出信息
			}
			ps.close(); // 关闭PreparedStatement,释放资源
			conn.close(); // 关闭Connection,释放资源
		} catch (Exception e) {
			out.print("图书信息添加失败!");
			e.printStackTrace();
		}
	%>
	<br>
	<a href="index.jsp">返回</a>

</body>
</html>

界面
在这里插入图片描述
添加成功
在这里插入图片描述
添加后的表
在这里插入图片描述

posted on 2022-08-28 22:20  热爱技术的小郑  阅读(32)  评论(0编辑  收藏  举报