用JAVA連線SQL實現更新資料
阿新 • • 發佈:2018-11-08
在程式碼中更新資料
<%@ page language="java" contentType="text/html; charset=UTF-8" import="java.sql.*" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>修改記錄頁面</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); } catch (Exception e) { e.printStackTrace(); } request.setCharacterEncoding("UTF-8");//設定字元編碼,避免出現亂碼 String sql="update stu_info set weight=? where name=?";//sql語句 PreparedStatement pstmt=dbConn.prepareStatement(sql);//建立介面物件 pstmt.setFloat(1, 60); pstmt.setString(2, "嘻嘻"); 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> 請選擇修改記錄所滿足的條件<hr width="100%" size="3"><!-- width設定線的長度 --> <form action="update_stu_2_edit.jsp" method="post"><br><!-- 必需的 action 屬性規定當提交表單時,向何處傳送表單資料。 --> 姓名:<input type="text" name="name"><br><br> 性別:男<input type="radio" value="男" name="sex"> 女<input type="radio" value="女" name="sex"><br><br> <input type="submit" value="提交"> <input type="reset" value="取消"> </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>修改編輯頁面</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); } catch (Exception e) { e.printStackTrace(); } request.setCharacterEncoding("UTF-8");//設定字元編碼,避免出現亂碼 String sex=request.getParameter("sex"); String name=request.getParameter("name"); session.setAttribute("sex",sex); session.setAttribute("name",name); String sql="select * from stu_info where sex=? and name=?";//sql語句 PreparedStatement pstmt=dbConn.prepareStatement(sql);//建立介面物件 pstmt.setString(1,sex); pstmt.setString(2,name); ResultSet rs=pstmt.executeQuery();//這裡面不需要引數 if(rs.next()){ int id=rs.getInt("id"); String name2=rs.getString("name"); String sex2=rs.getString("sex"); int age=rs.getInt("age"); float weight=rs.getFloat("weight"); float hight=rs.getFloat("hight"); if(rs!=null){rs.close();} if(pstmt!=null) {pstmt.close();} if(dbConn!=null) {dbConn.close();} %> <form action="update_stu_2.jsp" method="post"> <!-- method 屬性規定如何傳送表單資料(表單資料傳送到 action 屬性所規定的頁面)。 表單資料可以作為 URL 變數(method="get")或者 HTTP post (method="post")的方式來發送。 --> <table border="0" width="238" height="252"> <tr><td>學號</td><td><input name="id" value=<%=id%>></td></tr> <tr><td>姓名</td><td><input name="name2" value=<%=name2%>></td></tr> <tr><td>性別</td><td><input name="sex2" value=<%=sex2%>></td></tr> <tr><td>年齡</td><td><input name="age" value=<%=age%>></td></tr> <tr><td>體重</td><td><input name="weight" value=<%=weight%>></td></tr> <tr><td>身高</td><td><input name="hight" value=<%=hight%>></td></tr> <tr align="center"> <td colspan="2"> <input type="submit" value="提交"> <input type="reset" value="取消"> </td> </tr> </table> </form> <%} else{%> 沒有找到合適條件的記錄!!<% if(rs!=null){rs.close();} if(pstmt!=null) {pstmt.close();} if(dbConn!=null) {dbConn.close();} }%> </body>
接收程式碼
<%@ page language="java" contentType="text/html; charset=UTF-8" import="java.sql.*"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改後重寫記錄頁面</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);
} catch (Exception e) {
e.printStackTrace();
}
request.setCharacterEncoding("UTF-8");//設定字元編碼,避免出現亂碼
String sql="update stu_info set id=?,name=?,sex=?,age=?,weight=?,hight=? where name=? and sex=?";//sql語句
PreparedStatement pstmt=dbConn.prepareStatement(sql);//建立介面物件
int id=Integer.parseInt(request.getParameter("id"));
String name2=request.getParameter("name");
String sex2=request.getParameter("sex2");
int age=Integer.parseInt(request.getParameter("age"));
float weight=Float.parseFloat(request.getParameter("weight"));
float hight=Float.parseFloat(request.getParameter("hight"));
String name=(String)session.getAttribute("name");
String sex=(String)session.getAttribute("sex");
pstmt.setInt(1,id); //傳遞引數
pstmt.setString(2,name2);
pstmt.setString(3,sex2);
pstmt.setInt(4,age);
pstmt.setFloat(5,weight);
pstmt.setFloat(6,hight);
pstmt.setString(7,name);
pstmt.setString(8,sex);
int n=pstmt.executeUpdate();//這裡面不需要引數
if(n>=1){%> 重寫資料成功!<br> <%}
else{%> 重寫資料失敗!<%=n %><br> <%}
if(pstmt!=null) {pstmt.close();}
if(dbConn!=null) {dbConn.close();}
%>
</body>
</html>