2017-08-16 256 views
0

我有两个datepickers从和日期。然后一个textbox.After选择日期并在文本框中键入一些名称我需要筛选表中的记录。我有入场日期在我的表。我需要写查询,以便如果学生名称匹配,并且如果admissionDate落在fromdate和todate之间,那么它应该显示记录查询日期根据开始日期和结束日期

我正在写这个查询,但它不起作用。

SELECT studentId, studentName, admissionDate 
from Student 
where studentName like :studentName 
    AND admissionDate BETWEEN (fromDate like :fromDate AND toDate like :toDate) 
order by studentId desc 

从DaoImpl我越来越没有fromdate和todate值

DaoImpl

@Override 
    public List<Student> getSearchResultsByKeyword(String search,Date 
    fromDate,Date toDate) { 
    List<Student> users = new ArrayList<Student>(); 
    System.out.println("Student Name:"+search+"fromDate:"+fromDate); 
    Query query = 
    sessionFactory.getCurrentSession().createSQLQuery(SEARCHSTUDENTS); 
    query.setParameter("studentName", "%"+search+"%"); 
    query.setParameter("fromDate", fromDate); 
    query.setParameter("toDate", toDate); 
    /*query.setParameter("admissionDate","%"+search+"%"); 
    query.setParameter("rollNumber","%"+search+"%"); 
    query.setParameter("gender","%"+search+"%");*/ 
    query.setResultTransformer 
    (Transformers.aliasToBean(Student.class)); 
    users = query.list(); 
    return users; 
    } 
+0

什么意思由*不工作*。你有什么错误吗? –

+0

你的BETWEEN是很奇怪的... – jarlh

+0

我越来越错误在SQL语法 –

回答

1

尝试之间没有使用这样

SELECT studentId, studentName, admissionDate 
from Student 
where studentName like :studentName 
    AND admissionDate >= :fromDate AND admissionDate <= :toDate 
order by studentId desc 

,并确保日期格式您发送与DB日期格式相同(例如YYYY/MM/DD)

+0

@ jarlh,@ MirzaS谢谢。这两条建议工作正常.. –

+0

没问题,很高兴帮助,欢呼声。 – MirzaS

+0

Bro如果你了解angularjs,那么我的配置文件中还有一个问题,比如使用angularjs和spring mvc将复选框保存到数据库中。如果你有时间请通过它bro.Its有点紧急 –

相关问题