| 发表于:2007-01-25 15:26:49 楼主 |
目前项目中采用hibernate+spring+struts,查询语句中有这样一个问题,就是我的字段是datetime的,界面输入的查询条件为类似“2007-01-01 08:00“这种时间条件,不加这个查询条件是没有错的,可是如果sql语句加上这句,就会出错,说varchar转到datatime错误,很郁闷的是打出的sql语句放到查询分析器中执行一点问题没有,正常查出结果,而如果我把条件改为”2007-01-01”即只剩下日期,也不会抱错,下面是我的dao源码: query query = session.createsqlquery(sql+querysql) .addscalar( "bugid ",hibernate.string) .addscalar( "jctname ",hibernate.string) .addscalar( "stationname ",hibernate.string) .addscalar( "bugtype ",hibernate.string) .addscalar( "occurdate ",hibernate.timestamp) .addscalar( "buglength ",hibernate.big_decimal) .addscalar( "resolveflag ",hibernate.string); return query.list(); 查询条件就是occurdate这个字段 业务层对应: if(!runinfoform.getbugtimefrom().equals( " ")){ if (!runinfoform.getbugtimefrom().trim().equals( " ")) { querysql.append( " and sar_stationbug.occurdate> = ' "+runinfoform.getbugtimefrom()+ ":00 "+ " ' "); } } |
|
|
|
|