2012-05-02 19 views
1

這與我最近的問題關係......證日期在DAO參數和Servlet

在這種情況下,我有我的DAO和servlet,現在我想通過之日起(活動日期)作爲參數傳遞給我的查詢。我在哪裏可以做到這一點?

部分我的servlet的

protected void doGet(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 

    SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-DD"); 

    String username = request.getParameter("username"); 
    String name = request.getParameter("name"); 
    String dateto = request.getParameter("dateto");   


try 
    { 


     List prodlistsearch_array = this.pdtDAO.prodlistsearch(name); 
     request.setAttribute("prodlistsearch_array", prodlistsearch_array); 

     request.getRequestDispatcher("events_audit.jsp").forward(request, response); 
    } catch (SQLException e) { 
     throw new ServletException("Cannot retrieve areas", e); 
    } 

部分吾道

public List<pdtBean> prodlistsearch(String name) throws SQLException{ 
    Connection connection = null; 
    PreparedStatement statement = null; 
    ResultSet resultSet = null; 


    String querystring = "select * from mydb where name = ? and event_date between ? and ?"; 
    List<pdtBean> prodlistsearch_array = new ArrayList<pdtBean>(); 

    try { 

     connection = database.getConnection(); 
     statement = connection.prepareStatement(querystring); 
        statement.setString(1, name); 

     resultSet = statement.executeQuery(); 

     while (resultSet.next()) { 

      pdtBean prodlistsearcharray = new pdtBean(); 

       prodlistsearcharray.setId(resultSet.getString("id")); 
       prodlistsearcharray.setEvent_date(resultSet.getString("event_date")); 
       prodlistsearcharray.setTitle(resultSet.getString("title")); 

      prodlistsearch_array.add(prodlistsearcharray); 
     } 
    } finally { 
     try { resultSet.close(); } catch (SQLException logOrIgnore) {} 
     try { statement.close(); } catch (SQLException logOrIgnore) {} 
     try { connection.close(); } catch (SQLException logOrIgnore) {} 
    } 

    return prodlistsearch_array; 

} 
+0

我真的很希望'try {connection.close(); } catch(SQLException logOrIgnore){}'只是一個僞代碼! – adarshr

+0

我可以知道爲什麼嗎? – toink

回答

0

一個非常簡單的解決方法是對的java.util.Date另一個參數類型傳遞給你的DAO方法。但是,我建議創建一個POJO(簡單地說,帶有getter和setter的Java Bean)並使用收到的參數設置屬性。

將對象傳遞給DAO方法,如果您需要更多約束條件,這將會很有幫助。