1.有一个dao实现类有一个update方法。
如下:public boolean updateUser(User user) {
Connection conn=null;
PreparedStatement pstmt=null;
try{
conn=DAOUtil.getConnection();
pstmt=conn.prepareStatement("update user set realname=?,password=?,sex=?,id_card=?,age=?,address=?,phone=?,mobile=?,email=?,country=?,job=? where nickname=?");
int i=1;
pstmt.setString(i++,user.getRealname());
pstmt.setString(i++, user.getPassword());
pstmt.setInt(i++,user.getSex());
pstmt.setString(i++, user.getIdCard());
pstmt.setInt(i++, user.getAge());
pstmt.setString(i++, user.getAddress());
pstmt.setString(i++, user.getPhone());
pstmt.setString(i++,user.getMobile());
pstmt.setString(i++,user.getEmail());
pstmt.setString(i++, user.getCountry());
pstmt.setString(i++, user.getJob());
pstmt.setString(i++, user.getNickname());
int j=pstmt.executeUpdate();
return j>0;
}catch(SQLException e){e.printStackTrace(); }
finally{
try{
if(pstmt!=null)pstmt.close();
if(conn!=null)conn.close();
}catch(SQLException e){e.printStackTrace();}
}
return false;
}
2.有一个update的servlet,叫testservlet.java.
有代码如下:
String username = request.getParameter("nickname");
String realname = request.getParameter("realname");
String pwd = request.getParameter("pwd");
String pwd2 = request.getParameter("pwd2");
String email = request.getParameter("email");
String address = request.getParameter("address");
String phone = request.getParameter("phone");
String mobile = request.getParameter("mobile");
String idCard = request.getParameter("idCard");
String age = request.getParameter("age");
String country = request.getParameter("country");
String job = request.getParameter("job");
String sex = request.getParameter("sex");user.setNickname(username);
user.setRealname(realname);
user.setPassword(pwd);
//注意转型。
user.setSex(j);
user.setEmail(email);
user.setAddress(address);
user.setMobile(mobile);
user.setPhone(phone);
user.setIdCard(idCard);
//
user.setAge(i);
user.setCountry(country);
user.setJob(job);
//user.setRole_id(roleId);
boolean updateresult = userimpl.updateUser(user);
3.为什么这些数据一起更新时,程序无异常。
但只想更新某些数据时,程序就会出异常,各位大哥大姐,这个update动作应该怎样做啊?
如下:public boolean updateUser(User user) {
Connection conn=null;
PreparedStatement pstmt=null;
try{
conn=DAOUtil.getConnection();
pstmt=conn.prepareStatement("update user set realname=?,password=?,sex=?,id_card=?,age=?,address=?,phone=?,mobile=?,email=?,country=?,job=? where nickname=?");
int i=1;
pstmt.setString(i++,user.getRealname());
pstmt.setString(i++, user.getPassword());
pstmt.setInt(i++,user.getSex());
pstmt.setString(i++, user.getIdCard());
pstmt.setInt(i++, user.getAge());
pstmt.setString(i++, user.getAddress());
pstmt.setString(i++, user.getPhone());
pstmt.setString(i++,user.getMobile());
pstmt.setString(i++,user.getEmail());
pstmt.setString(i++, user.getCountry());
pstmt.setString(i++, user.getJob());
pstmt.setString(i++, user.getNickname());
int j=pstmt.executeUpdate();
return j>0;
}catch(SQLException e){e.printStackTrace(); }
finally{
try{
if(pstmt!=null)pstmt.close();
if(conn!=null)conn.close();
}catch(SQLException e){e.printStackTrace();}
}
return false;
}
2.有一个update的servlet,叫testservlet.java.
有代码如下:
String username = request.getParameter("nickname");
String realname = request.getParameter("realname");
String pwd = request.getParameter("pwd");
String pwd2 = request.getParameter("pwd2");
String email = request.getParameter("email");
String address = request.getParameter("address");
String phone = request.getParameter("phone");
String mobile = request.getParameter("mobile");
String idCard = request.getParameter("idCard");
String age = request.getParameter("age");
String country = request.getParameter("country");
String job = request.getParameter("job");
String sex = request.getParameter("sex");user.setNickname(username);
user.setRealname(realname);
user.setPassword(pwd);
//注意转型。
user.setSex(j);
user.setEmail(email);
user.setAddress(address);
user.setMobile(mobile);
user.setPhone(phone);
user.setIdCard(idCard);
//
user.setAge(i);
user.setCountry(country);
user.setJob(job);
//user.setRole_id(roleId);
boolean updateresult = userimpl.updateUser(user);
3.为什么这些数据一起更新时,程序无异常。
但只想更新某些数据时,程序就会出异常,各位大哥大姐,这个update动作应该怎样做啊?
解决方案 »
- 关于JSF中分页显示
- <SCRIPT language=JavaScript>想链接不弹出新窗口的问题,急!!!!!!
- 问两个问题?
- 用lucene时出错,大侠帮忙!
- 100分求解决树型列表问题
- 急,急,急,50分求jsp做的下载代码!!!!!!
- 华为现在是不是在狂招人?
- jsp+javaBean开发NullPointerException异常问题!急!急!!急!!!请各位大侠帮忙!在线等待!
- 网站作完了,现在在考虑安全问题,网站安全包含那些呢?
- struts2 中使用dojo时间控件dropdowndatepicker 不显示
- 继续问关于Form的问题,麻烦大家都进来帮忙下
- 关于Form表单的问题
你可以判断一下如果你只想更新部分字段的值,就不要把不需要更新的放入sql语句中,
StringBuilder你应该用的上
如果有值就append
不过,它会用空值代替原有的值,老大们,怎么解决啊?上面这位仁兄的方法,好像不是很明白啊。