Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    203

    java.sql.date o java.util.date

    Ciao a tutti ragazzi ho una domanda per filtrare una ricerca tramite data con dati provenienti da un db oracle con colonna impostata in timestamp quale di queste due classi devo utilizzare?

    e sopratutto ho impostato un piccolo calendario in javascript che mi crea le date in questo formato 04/20/2010 e nella colonna le date sono in questo formato: 2010-04-06 09:39:00.459 come faccio a far coincidere le due forme per potermi permettere di effettuare la ricerca?
    grazie mille a tutti per l'aiuto

  2. #2

    Re: java.sql.date o java.util.date

    Originariamente inviato da n1o
    Ciao a tutti ragazzi ho una domanda per filtrare una ricerca tramite data con dati provenienti da un db oracle con colonna impostata in timestamp quale di queste due classi devo utilizzare?
    Se non sbaglio Timestamp non è Date e quindi devi sempre convertire con una new Date(oggettoTimestamp.getTime()).
    A questo punto puoi utilizzare anche la java.util.date.
    "Na' sedia te vojo tirà!"

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    203
    Si grazie brazo mi ero già orientato verso quell'ambito la.
    Come faccio a parsare la data?
    gli devo passare anche ore-minuti etc oppure possono essere omessi?

    ho trovato questo codice per trasformare la stringa che mi arriva dal form in una data:

    codice:
     DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    Date myParsedDate = format.parse(Data_dal_database);
    non capisco cosa si intende per data_dal_database
    ops apposto

  4. #4
    Originariamente inviato da n1o
    Si grazie brazo mi ero già orientato verso quell'ambito la.
    Come faccio a parsare la data?
    gli devo passare anche ore-minuti etc oppure possono essere omessi?

    ho trovato questo codice per trasformare la stringa che mi arriva dal form in una data:

    codice:
     DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    Date myParsedDate = format.parse(Data_dal_database);
    non capisco cosa si intende per data_dal_database
    Questa procedura serve a convertire una stringa in una data, quindi l'oggetto "data_da_database" è un oggetto di tipo String.
    Cosa intendi tu per parsare la data? Vuoi farla diventare String o vice-versa?
    Per aggiungere ore e minuti QUI trovi tutti i codici che puoi gestire all'interno del SimpleDataFormat per poter formattare la data come vuoi tu.
    "Na' sedia te vojo tirà!"

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    203
    adesso la data mi viene in questo formato:

    INFO: StringData: 04/07/2010
    INFO: myParseDate Wed Apr 07 00:00:00 CEST 2010

    e nei session ho scritto questo metodo per fare la select:

    codice:
     
    public List<VRicercaAggrCodDispaccio> findDispByData(Date creationDate) {
        Query q = em.createQuery("SELECT d FROM VRicercaAggrCodDispaccio d WHERE d.creationDate = :creationDate");
            q.setParameter("creationDate", creationDate);
                return q.getResultList();
    }
    e nella servlet faccio questo ( ma non so proprio se è giusto(devo solamente prendere la stringa che mi viene dal form formattarla nel giusto modo per farla leggere nella query al DB e stampare i risultati nella jsp))

    codice:
    String stringData = (String) request.getParameter("creationDate");
                    System.out.println(" StringData: " + stringData);
                DateFormat format = new SimpleDateFormat("MM/dd/yyyy");
                Date myParsedDate = format.parse(stringData);
                    System.out.println("myParseDate " + myParsedDate);
                List dataDisp = controllerDao.findByDataDisp(myParsedDate);
                Iterator i = dataDisp.iterator();
                    request.setAttribute("dataMazz", i);
                if (dataDisp  != null) {
                    request.getRequestDispatcher("/code_mazz.jsp").forward(request, response);
                } else {
                    request.getRequestDispatcher("/error.jsp").forward(request, response);
                }
    ma non va...
    dove sbaglio?
    ho sbagliato tutto oppure?

  6. #6
    Non conosco bene l'oggetto Query però non credo che puoi passare parametri di tipo Date in quel modo.
    Se il tuo problema è quello di inserire la data nella query, io di solito con Oracle inserisco velocemente nella where la toDate della stringa contenente la data (tu che db usi?); oppure, volendo passare l'oggetto Date, creo la query con un prepared statement.
    "Na' sedia te vojo tirà!"

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    203
    utilizzo oracle con ejb 3.0
    mi puoi postare un esempio? te ne sarei veramente grato

  8. #8
    codice:
    SELECT d FROM VRicercaAggrCodDispaccio d WHERE to_date(d.creationDate, 'MM/DD/YYYY') = la_tua_stringa
    Ovviamente la tua stringa deve essere formattata con lo stesso formato che metti nella to_date.
    "Na' sedia te vojo tirà!"

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    203
    allora la mia precedente stringa:

    codice:
     
    SELECT d FROM VRicercaAggrCodDispaccio d WHERE d.creationDate = :creationDate
    deve diventare
    codice:
     
    SELECT d FROM VRicercaAggrCodDispaccio d WHERE to_date(d.creationDate, 'MM/DD/YYYY') = : creationDate
    con creation date al quale arriva la stringa in questo formato:

    Wed Apr 07 00:00:00 CEST 2010

    o ho capito male?

  10. #10
    No la tua stringa creationDate deve essere formattata con lo stesso standard che imposti nella to_Date.
    Esempio:

    codice:
    WHERE to_date(d.creationDate, 'MM/DD/YYYY') = 'tua_stringa'
    Dove la tua stringa dovrà contenere esattamente il valore "04/07/2010" per la data di oggi.
    "Na' sedia te vojo tirà!"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.