我要实现数据库操作的封装,写了一个方法
用的是 sqlserver 2000
数据库中usersexbrith, updatedate为datatime类型
public java.sql.Date sqlDate,sqlUpdate;
public void update(Person person) throws Exception {
String sql = "update T_USERS set provincename=?,cityname=?,townname=?,usergroup=?,userid=?,userkind=?,userturename=?,usersex=?,usersexbrith=?,userpass=? usercompass=? passquestion=?,passanswer=?,contactman=?,useraddr=?,useremail=?,mobilenum=?,telnum=?,qqnum=?,userphoto=?,currstate=?,loginnum=?,updatedate=?,remarks=? where id=? ";
System.out.println(sql);
PreparedStatement pstmt = null;
Connection conn = null;
try {
conn = new ConnectionDB().getConnection();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, person.getProvincename());
pstmt.setString(2, person.getCityname());
pstmt.setString(3, person.getTownname());
pstmt.setString(4, person.getUsergroup());
pstmt.setString(5, person.getUserid());
pstmt.setString(6, person.getUserkind());
pstmt.setString(7, person.getUserturename());
pstmt.setString(8, person.getUsersex());
SimpleDateFormat bartDateFormat = new SimpleDateFormat( "yyyy-MM-dd ");
String dateStringToParse = person.getUsersexbrith();
try {
java.util.Date date = bartDateFormat.parse(dateStringToParse);
sqlDate = new java.sql.Date(date.getTime());
System.out.println(sqlDate.getTime());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
pstmt.setDate(9, sqlDate);
pstmt.setString(10, person.getUserpass());
pstmt.setString(11, person.getUsercompass());
pstmt.setString(12, person.getPassquestion());
pstmt.setString(13, person.getPassanswer());
pstmt.setString(14, person.getContactman());
pstmt.setString(15, person.getUseraddr());
pstmt.setString(16, person.getUseremail());
pstmt.setString(17, person.getMobilenum());
pstmt.setString(18, person.getTelnum());
pstmt.setString(19, person.getQqnum());
pstmt.setString(20, person.getUserphoto());
pstmt.setString(21, person.getCurrstate());
pstmt.setString(22, person.getLoginnum());
SimpleDateFormat df = new SimpleDateFormat( "yyyy-MM-dd ");
String stp = person.getUpdatedate();
try {
java.util.Date sdate = df.parse(stp);
sqlUpdate = new java.sql.Date(sdate.getTime());
System.out.println(sqlUpdate.getTime());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
pstmt.setDate(23, sqlUpdate);
pstmt.setString(24, person.getRemarks());
pstmt.setInt(25, person.getId());
System.out.println( "update person!!!!!!!!!!!!! ");
pstmt.executeUpdate();
//pstmt.close();
} catch (Exception e) {
throw new Exception( "操作出现异常 ");
} finally {
//conn.close();// 关闭数据库连接
}