我用的框架是strut2的,我想在数据库里想存一个data,我在mysql里定义的是一个datatime类型,在action里面定义的是data类型。可是,我ps.setTime(5, meeting.getTime());老是有错,我不知道怎么改,还请哪位会的帮忙解答下,感激不尽~~~                  Connection conn;
PreparedStatement ps =null;
int i;

try
{
conn = MysqlDBFactory.getConnection().getConnection();
ps = conn.prepareStatement(this.ADDNEWMEETING);

ps.setString(1, meeting.getEid());
ps.setString(2, meeting.getName());
ps.setString(3, meeting.getAdd());
ps.setString(4, meeting.getSubject());
ps.setTime(5, meeting.getTime());
ps.setString(6, meeting.getAdminId());
i=ps.executeUpdate();


}catch(SQLException e)
{
throw new MyRuntimeException();
}
if(i>0)
{
System.out.println("会议添加成功");
return true;
}
else
return false;

解决方案 »

  1.   

    this.ADDNEWMEETING语句是什么?
    另外你程序现在报的什么错?
      

  2.   

    this.ADDNEWMEETING 莫非是你的sql语句? 建议楼主把代码贴上..
      

  3.   

    getTime确定你这里返回的类型是java.sql.Time,
    如果用的是date
    请用setDate 同样,要求的类型是java.sql.Date而不是java.util.Date
      

  4.   

    同意楼上的看法,GETTIME的返回值是JAVA.SQL.DATE
    你需要将它转成JAVA.UTIL.DATE
      

  5.   

    ps.setTimestamp(new Timestamp(date.getTime()));
      

  6.   

    数据库里面的date是sql.date,你用的date是util.date
      

  7.   

    现在还报错吗!LOUSHANG DE ZHUREN GEI NI JIEHUE DE FANG AN ZENM YANG !??
      

  8.   

    ps.setTimestame(9,new java.sql.Timestamp());
      

  9.   

    如果mysql用的是datetime类型,
    ps.setTime(5, meeting.getTime());
    可改为:ps.setTimestamp(5, new Timestamp(meeting.getTime()));