30/09/2018, 20:59

Update sử dụng jsp

em gặp chút vấn đề về việc update lại dữ liệu trong database,
khi em update thì dữ liệu k dc chuyển vào database mà nó chạy đâu mất ấy.
bác nào biết chỉ giúp em với ạ.
thank các bác! :v

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.util.concurrent.ExecutionException"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Statement"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action ="edit.jsp" name="editform" method="post">
<%!
int stt;
String hoten="";
String namsinh="";
String gioitinh="";
String diachi="";
String email="";
%>
<br><br><br>
<table align="center" width="300px" style="background-color: gray; border: 1px solid #000000">
<tr><td colspan=2 style="font-weight:bold;" align="center">Edit Data</td></tr>
<tr><td colspan=2 align="center" height="10px"></td></tr>
<tr>
<td>Ho Ten</td>
<td><input type="text" name="hoten" value="<%=hoten%>"></td>
</tr>
<tr>
<td>Nam Sinh</td>
<td><input type="text" name="namsinh" value="<%=namsinh%>"></td>
</tr>
<tr>
<td>Gioi Tinh</td>
<td>
<input type="radio" name="gioitinh" value="1" checked="checked">Nam
<input type="radio" name="gioitinh" value="0">Nu
</td>
</tr>
<tr>
<td>Dia Chi</td>
<td><input type="text" name="diachi" value="<%=diachi%>"></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email" value="<%=email%>"></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Update"
 style="background-color:black;font-weight:bold;color:#ffffff;"></td>
</tr>
<tr><td colspan=2 align="center" height="10px"></td></tr>
</table>
<%
String hoten=request.getParameter("hoten");
String namsinh=request.getParameter("namsinh");
String gioitinh=request.getParameter("gioitinh");
String diachi=request.getParameter("diachi");
String email=request.getParameter("email");
Statement stm;
ResultSet rs;
Connection conn;
if(hoten==null || hoten=="" || namsinh==null || namsinh=="" || gioitinh==null || gioitinh==""|| 
diachi==null || diachi=="" || email==null || email==""){
	try{
		Class.forName("com.mysql.jdbc.Driver");
		conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/register", "root","1111");
		stm = conn.createStatement();
		int  i =stm.executeUpdate("SELECT * FROM student WHERE stt="+stt+" ");
		rs = stm.executeQuery("UPDATE student SET stt="+stt+", hoten= '"+ hoten +"', namsinh='"+ namsinh +"', gioitinh='"+ gioitinh +"', diachi='"+ diachi +"', email='"+ email +"' Where stt="+stt+" ");
		if(i>0){
			response.sendRedirect("thongtinhs.jsp");	
		}
		conn.close();
		
		System.out.println("Disconnected from database");
		%>
		<br>
		<TABLE style="background-color: #E3E4FA;"
		WIDTH="30%" border="1">
		<tr><th>Data Modified successfully
		in database.</th></tr>
		</TABLE>
		<%
		} catch (Exception e) {
		e.printStackTrace();
		}
		}
		%>
</form>
</body>
</html>
Nguyễn Hồng Sơn viết 23:03 ngày 30/09/2018

:3 Lâu rồi minh k làm cái này nên cũng chẳng nhớ nữa nhưng mình nghĩ bạn nên xây dựng theo mô hình MVC, sử dụng Servlet làm controller và jsp chỉ để làm view thôi

Nguyễn Đoàn viết 23:08 ngày 30/09/2018

thank bác! vì em chỉ làm cái này là bài tập lớn trên lớp. và cũng k thích học cái này nên muốn làm đơn giản cho nhanh xong thôi mà :D.

BigCat viết 23:14 ngày 30/09/2018
    Statement stmt = null;
    String sql = "UPDATE Registration SET age = 30 WHERE id in (100, 101)";
    stmt = con.createStatement();
    ResultSet rs = stmt.executeQuery(sql);
Nguyễn Đoàn viết 23:12 ngày 30/09/2018

thank BigCat, em sẽ làm thử xem sao.

Bài liên quan
0