更新后仅在单个列中丢失数据 mysql table
data missing only in a single column after updating mysql table
我是 jsp servlet 的新手。我正在用 eclipse 和 mysql 做一个 jsp,servlet CRUD 项目。插入、删除操作都可以,但是当我更新员工 table 行的数据时,userName 列的数据丢失了。它仅在更新列时发生。我尝试手动更新 userName 列但没有成功。这是插入和更新完成后的图像。
inserting a new row
updating the first name as "Alan"
更新查询
public static int update(Emp m){
int status=0;
try{
Connection con=getConnection();
PreparedStatement ps=con.prepareStatement("update employee set fname=?,lname=?,userName=?,passwrd=?,age=?,gender=?,address=?,contactNo=?,email=?,jobType=?,department=?,qualifics=?,salary=?,hireDate=? where id=?");
ps.setString(1,m.getFname());
ps.setString(2,m.getLname());
ps.setString(3,m.getUserName());
ps.setString(4,m.getPasswrd());
ps.setInt(5,m.getAge());
ps.setString(6,m.getGender());
ps.setString(7,m.getAddress());
ps.setString(8,m.getContactNo());
ps.setString(9,m.getEmail());
ps.setString(10,m.getJobType());
ps.setString(11,m.getDepartment());
ps.setString(12,m.getQualifics());
ps.setDouble(13,m.getSalary());
ps.setString(14,m.getHireDate());
ps.setInt(15,m.getId());
status=ps.executeUpdate();
}catch(Exception e){
System.out.println(e);
}
return status;}
从数据库中检索数据
public static List<Emp> getAllRecords(){
List<Emp> list=new ArrayList<Emp>();
try{
Connection con=getConnection();
PreparedStatement ps=con.prepareStatement("select * from employee");
ResultSet rs=ps.executeQuery();
while(rs.next()){
Emp m=new Emp();
m.setId(rs.getInt("id"));
m.setFname(rs.getString("fname"));
m.setLname(rs.getString("lname"));
m.setUserName(rs.getString("userName"));
m.setPasswrd(rs.getString("passwrd"));
m.setAge(rs.getInt("age"));
m.setGender(rs.getString("gender"));
m.setAddress(rs.getString("address"));
m.setContactNo(rs.getString("contactNo"));
m.setEmail(rs.getString("email"));
m.setJobType(rs.getString("jobType"));
m.setDepartment(rs.getString("department"));
m.setQualifics(rs.getString("qualifics"));
m.setSalary(rs.getDouble("salary"));
m.setHireDate(rs.getString("hireDate"));
list.add(m);
}
}catch(Exception e){
System.out.println(e);
}
return list;}
通过id获取数据
public static Emp getRecordById(int id){
Emp m=null;
try{
Connection con=getConnection();
PreparedStatement ps=con.prepareStatement("select * from employee where id=?");
ps.setInt(1,id);
ResultSet rs=ps.executeQuery();
while(rs.next()){
m=new Emp();
m.setId(rs.getInt("id"));
m.setFname(rs.getString("fname"));
m.setLname(rs.getString("lname"));
m.setUserName(rs.getString("userName"));
m.setPasswrd(rs.getString("passwrd"));
m.setAge(rs.getInt("age"));
m.setGender(rs.getString("gender"));
m.setAddress(rs.getString("address"));
m.setContactNo(rs.getString("contactNo"));
m.setEmail(rs.getString("email"));
m.setJobType(rs.getString("jobType"));
m.setDepartment(rs.getString("department"));
m.setQualifics(rs.getString("qualifics"));
m.setSalary(rs.getDouble("salary"));
m.setHireDate(rs.getString("hireDate"));
}
}catch(Exception e){
System.out.println(e);
}
return m;}
图像 viewtable.jsp
import Empdb.java
table headers
get table data
我该怎么办?
如果您能提供任何帮助,我们将不胜感激,并感谢您抽出宝贵的时间。
我已经检查了你的代码,并找到了导致问题的原因。
在你的 editform.jsp:- 你已经写了这个 "userNname",这是 worng
User Name:<input type="text" name="userNname" value="<%= m.getUserName()%>"/>
使用这个:(它搜索相同的名字)
User Name:<input type="text" name="userName" value="<%= m.getUserName()%>"/>
把"userNname"改成"userName",就会work.Thanks
我是 jsp servlet 的新手。我正在用 eclipse 和 mysql 做一个 jsp,servlet CRUD 项目。插入、删除操作都可以,但是当我更新员工 table 行的数据时,userName 列的数据丢失了。它仅在更新列时发生。我尝试手动更新 userName 列但没有成功。这是插入和更新完成后的图像。
inserting a new row
updating the first name as "Alan"
更新查询
public static int update(Emp m){
int status=0;
try{
Connection con=getConnection();
PreparedStatement ps=con.prepareStatement("update employee set fname=?,lname=?,userName=?,passwrd=?,age=?,gender=?,address=?,contactNo=?,email=?,jobType=?,department=?,qualifics=?,salary=?,hireDate=? where id=?");
ps.setString(1,m.getFname());
ps.setString(2,m.getLname());
ps.setString(3,m.getUserName());
ps.setString(4,m.getPasswrd());
ps.setInt(5,m.getAge());
ps.setString(6,m.getGender());
ps.setString(7,m.getAddress());
ps.setString(8,m.getContactNo());
ps.setString(9,m.getEmail());
ps.setString(10,m.getJobType());
ps.setString(11,m.getDepartment());
ps.setString(12,m.getQualifics());
ps.setDouble(13,m.getSalary());
ps.setString(14,m.getHireDate());
ps.setInt(15,m.getId());
status=ps.executeUpdate();
}catch(Exception e){
System.out.println(e);
}
return status;}
从数据库中检索数据
public static List<Emp> getAllRecords(){
List<Emp> list=new ArrayList<Emp>();
try{
Connection con=getConnection();
PreparedStatement ps=con.prepareStatement("select * from employee");
ResultSet rs=ps.executeQuery();
while(rs.next()){
Emp m=new Emp();
m.setId(rs.getInt("id"));
m.setFname(rs.getString("fname"));
m.setLname(rs.getString("lname"));
m.setUserName(rs.getString("userName"));
m.setPasswrd(rs.getString("passwrd"));
m.setAge(rs.getInt("age"));
m.setGender(rs.getString("gender"));
m.setAddress(rs.getString("address"));
m.setContactNo(rs.getString("contactNo"));
m.setEmail(rs.getString("email"));
m.setJobType(rs.getString("jobType"));
m.setDepartment(rs.getString("department"));
m.setQualifics(rs.getString("qualifics"));
m.setSalary(rs.getDouble("salary"));
m.setHireDate(rs.getString("hireDate"));
list.add(m);
}
}catch(Exception e){
System.out.println(e);
}
return list;}
通过id获取数据
public static Emp getRecordById(int id){
Emp m=null;
try{
Connection con=getConnection();
PreparedStatement ps=con.prepareStatement("select * from employee where id=?");
ps.setInt(1,id);
ResultSet rs=ps.executeQuery();
while(rs.next()){
m=new Emp();
m.setId(rs.getInt("id"));
m.setFname(rs.getString("fname"));
m.setLname(rs.getString("lname"));
m.setUserName(rs.getString("userName"));
m.setPasswrd(rs.getString("passwrd"));
m.setAge(rs.getInt("age"));
m.setGender(rs.getString("gender"));
m.setAddress(rs.getString("address"));
m.setContactNo(rs.getString("contactNo"));
m.setEmail(rs.getString("email"));
m.setJobType(rs.getString("jobType"));
m.setDepartment(rs.getString("department"));
m.setQualifics(rs.getString("qualifics"));
m.setSalary(rs.getDouble("salary"));
m.setHireDate(rs.getString("hireDate"));
}
}catch(Exception e){
System.out.println(e);
}
return m;}
图像 viewtable.jsp
import Empdb.java
table headers
get table data
我该怎么办? 如果您能提供任何帮助,我们将不胜感激,并感谢您抽出宝贵的时间。
我已经检查了你的代码,并找到了导致问题的原因。
在你的 editform.jsp:- 你已经写了这个 "userNname",这是 worng
User Name:<input type="text" name="userNname" value="<%= m.getUserName()%>"/>
使用这个:(它搜索相同的名字)
User Name:<input type="text" name="userName" value="<%= m.getUserName()%>"/>
把"userNname"改成"userName",就会work.Thanks