日期:2014-05-18  浏览次数:20858 次

请教一个问题,请高手解答
我要实现数据库操作的封装,写了一个方法
用的是   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( "操作出现异常 "