Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388

    [java]gestione date col database

    con una query dovrei inserire la data in un data base però
    mi da errore di compatibilita di tipi data è di tipo java.util.date
    la dovrei convertire in formato sql.date?
    e se ssi come?
    la riga dove dal'errore è:
    ** pStat1.setDate(4, data);***

    e per il contrario cioè prendere una data da un db è inserirla in un oggetto notizia (java.util.date data)?

    come dovrei fare?
    grazie a tutti!!!!!!!!!!!!

  2. #2
    Utente di HTML.it L'avatar di Umbe78
    Registrato dal
    May 2001
    Messaggi
    90
    Non ho capito bene il primo punto (una riga di codice è un pò poco per capire che oggetti usi) ma per il secondo potresti ottenere un oggetto timestamp dal resultset e poi ottenendo i millesecondi creare un oggetto data

    new java.Util.Date(result.getTimestamp("nomecolonna"). getTime())

    ciao

    Umbe

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388
    il codice é:

    *******************
    public static Notizie inserimentoNotizie (int idNotizia,Date data,String sommario,String testo,int id)throws ErroreAccessoDatiException,SQLException{
    if(dataSource == null){
    throw new IllegalStateException("LoginDBManager non ha ancora a disposizione un DataSource valido");
    }
    String sqlQuery=null;
    sqlQuery = ("insert into notizie_generiche values(?,?,?,?,?)");
    Connection connection1 = null;
    PreparedStatement pStat1 = null;
    ResultSet rSet1 = null;
    try{
    connection1 = dataSource.getConnection();
    pStat1 = connection1.prepareStatement(sqlQuery);
    String amministratore=null;


    pStat1.setInt(1,idNotizia);
    pStat1.setString(2,testo);
    pStat1.setString(3,sommario);
    pStat1.setDate(4, data);
    pStat1.setInt(5,id);



    pStat1.execute();
    connection1.commit();
    Notizie notiziaNuovo = NotizieDBManager.trovaNotizia(idNotizia);
    if (notiziaNuovo!=null){
    return notiziaNuovo;
    }
    else {
    return null;
    }

    }

    catch(SQLException errore){
    throw new SQLException(errore.getMessage(),String.valueOf(er rore.getErrorCode()));
    }
    catch(ErroreAccessoDatiException errore){
    throw new ErroreAccessoDatiException(errore.getMessage(),Str ing.valueOf(errore.getErrorCode()));
    }
    finally{
    try{rSet1.close();}catch(Exception e){}
    try{pStat1.close();}catch(Exception e){}
    try{connection1.close();}catch(Exception e){}
    }


    *****************
    l'errore è method setdate not found in interface java.sql.preparedStatement in(pStat1.setDate(4, data)
    *********

    poi dovrei leggere il database e costruire l'oggetto utente

  4. #4
    Utente di HTML.it L'avatar di Umbe78
    Registrato dal
    May 2001
    Messaggi
    90
    In effetti il metodo setDate() della classe PreparedStatement
    accetta in input un oggetto java.sql.Date , se tu passi al metodo un oggetto java.util.Date devi fare un piccolo passaggio in più :


    pStat1.setDate(4, new java.sql.Date(data.getTime()));

    spero di esserti stato d'aiuto,

    ciao

    Umbe

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 © 2024 vBulletin Solutions, Inc. All rights reserved.