sql >> Database >  >> RDS >> PostgreSQL

datumparameter doorgeven om een ​​datumbereikquery te maken

Gebruik HttpServletRequest#getParameter() om verzoekparameters te verzamelen. Ervan uitgaande dat het invoerveld de naam date heeft .

String dateString = request.getParameter("date");

Gebruik SimpleDateFormat#parse() om het te converteren naar java.util.Date met behulp van een specifiek patroon, afhankelijk van hoe de eindgebruiker werd gevraagd om de datum in te voeren.

Date date = null;

try {
    date = new SimpleDateFormat("yyyy-MM-dd").parse(dateString);
}
catch (ParseException e) {
    // Show error message to enduser about the wrong format and forward back to the JSP with the form.
    request.setAttribute("error", "Invalid format, please enter yyyy-MM-dd");
    request.getRequestDispatcher("search.jsp").forward(request, response);
    return;
}

Geef dit door als een methodeargument aan uw DAO-methode:

List<ParseBean> results = parseDAO.search(date);

Je moet het converteren naar java.sql.Date , zodat u PreparedStatement#setDate() om het in te stellen op de SQL-query:

String query = "SELECT * FROM dateparse WHERE date = ?";
// ...
statement.setDate(1, new java.sql.Date(date.getTime()));

U kunt WHERE date > ? . gebruiken om te zoeken naar records die nieuwer zijn dan de opgegeven datum, of WHERE date < ? om te zoeken naar records die ouder zijn dan de opgegeven datum, of WHERE date BETWEEN ? and ? om te zoeken naar records tussen de opgegeven datums.



  1. PHP/mysqli:IP-adres invoegen met mysqli_stmt_bind_param()

  2. MySql gedupliceerde waarden in een join met GROUP_CONCAT

  3. Leer hoe u een procedure uitvoert in Toad For Oracle

  4. Gedistribueerde databasetransactie versus cross-databasetransactie