直接由代码来决定插入的数据。
<%@ page language="java" contentType="text/html; charset=UTF-8" import="java.sql.*"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>利用PreparedStatement对象添加一条记录页面</title>
</head>
<body>
<% String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//加载JDBC驱动
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=zero";
//连接服务器和数据库
String userName = "sa"; // 默认用户名
String userPwd = "123456"; // 密码
Connection dbConn = null;
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
// System.out.println("Connection Successful!");
// 如果连接成功 控制台输出Connection Successful!
} catch (Exception e) {
e.printStackTrace();
// System.out.println("连接失败");
}
String sql="Insert into stu_info(id,name,sex,age,weight,hight) values(?,?,?,?,?,?)";
PreparedStatement pstmt=dbConn.prepareStatement(sql);
pstmt.setInt(1, 16);
pstmt.setString(2, "张三");
pstmt.setString(3, "男");
pstmt.setInt(4, 20);
pstmt.setFloat(5,70);
pstmt.setFloat(6,175);
int n=pstmt.executeUpdate();
if(n==1){%> 数据插入成功!<br> <%}
else{%> 数据插入失败!<br> <%}
if(pstmt!=null) {pstmt.close();}
if(dbConn!=null) {dbConn.close();}
%>
</body>
</html>
可以在网页自由插入数据。
提交页面。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>提交页面</title>
</head>
<body>
<form action="insert_stu_2.jsp" method="post">
<table border="0" width="238" height=252"">
<tr><td>学号</td><td><input type="text" name="id"></td></tr>
<tr><td>姓名</td><td><input type="text" name="name"></td></tr>
<tr><td>性别</td><td><input type="text" name="sex"></td></tr>
<tr><td>年龄</td><td><input type="text" name="age"></td></tr>
<tr><td>体重</td><td><input type="text" name="weight"></td></tr>
<tr><td>身高</td><td><input type="text" name="hight"></td></tr>
<tr align="center">
<td colspan="2">
<input type="submit" value="提 交"> <!-- 表示空格,因为表格中如果是手打的空格会合并为一个 -->
<input type="reset" value="取 消">
</td>
</tr>
</table>
</form>
</body>
</html>
接收数据页面
<%@ page language="java" contentType="text/html; charset=UTF-8" import="java.sql.*"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>利用PreparedStatement添加一条记录</title>
</head>
<body>
<% String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//加载JDBC驱动
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=zero";
//连接服务器和数据库
String userName = "sa"; // 默认用户名
String userPwd = "123456"; // 密码
Connection dbConn = null;
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
// System.out.println("Connection Successful!");
// 如果连接成功 控制台输出Connection Successful!
} catch (Exception e) {
e.printStackTrace();
// System.out.println("连接失败");
}
String sql="Insert into stu_info(id,name,sex,age,weight,hight) values(?,?,?,?,?,?)";
PreparedStatement pstmt=dbConn.prepareStatement(sql);
request.setCharacterEncoding("UTF-8");//设置字符编码,避免出现乱码
int id=Integer.parseInt(request.getParameter("id"));
String name=request.getParameter("name");
String sex=request.getParameter("sex");
int age=Integer.parseInt(request.getParameter("age"));
float weight=Float.parseFloat(request.getParameter("weight"));
float hight=Float.parseFloat(request.getParameter("hight"));
pstmt.setInt(1,id);//这里不能有空格,虽然这里并不会报错,但运行会出现错误500提示。
pstmt.setString(2,name);
pstmt.setString(3,sex);
pstmt.setInt(4,age);
pstmt.setFloat(5,weight);
pstmt.setFloat(6,hight);
int n=pstmt.executeUpdate();
if(n==1){%> 数据插入成功!<br> <%}
else{%> 数据插入失败!<br> <%}
if(pstmt!=null) {pstmt.close();}
if(dbConn!=null) {dbConn.close();}
%>
</body>
</html>