Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Aggiornare l'ora del DB ad ogni interrogazione

    Salve, ho creato il mio DataBase e tramite le JDBC lo sto interrogando e sto inserendo i vari dati che mi arrivano da sensori esterni. Il mio problema sta nel fatto che alcuni sensori non mi forniscono la data e l'ora ad ogni ricezione dei dati, ma a me serve saperle. Come posso fare per avere anche questi dati? cosa mi consigliate di fare?




    grazie mille per l'aiuto.....

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    O l'aggiungi tu alla query (un campo timestamp in cui metti un NOW(), o l'orario generato da sql.Date o come ti pare a te) o lo fai fare direttamente al database (campo timestamp con dafault value il current_timestamp).

    Se stai salvando l'orario in qualche altro modo o in un campo diverso da uno adatto a conservare informazioni di data e ora, fermati finché sei in tempo e metti mano al database.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Grazie Andrea.

    io inizialmente ho creato il mio database tenendo presente il campo data e l'ora per ogni entità che dovevo considerare. Ora mi sono accorto che alcuni sensori e/o stazione meteo mi forniscono regolarmente l'ora e la data, mentre altri ( tipo una sonda di temperatura ) mi da solo il valore da monitorare.

    se ho capito bene quello che mi consigli è di mettere nelle tabelle delle entità che nn mi danno l'ora e la data il campo timestamp?

    scusa ma sono alle prime armi con questo tipo di lavoro....

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    in qualche modo tu vai a fare una insert:
    codice:
    INSERT INTO tabella_dati ....
    perfetto. Nulla vieta che la tua tabella sia qualcosa del genere:
    codice:
    CREATE TABLE `auto_quando` (
    `id` INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `cosa` VARCHAR( 50 ) NOT NULL ,
    `quando` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 
    );
    e la query:
    codice:
    "INSERT into auto_quando (cosa) VALUES ('pranzo')"
    E dovresti vedere che in automatico viene inserito il timestamp corrispondente all'orario di inserimento.

    E per inciso, per quei sensori che danno l'orario nulla toglie che tu possa utilizzare l'orario da essi fornito, difatti questa query funziona pure:
    codice:
    "INSERT into auto_quando (cosa,quando) VALUES ('cena','2011-10-27 20:06:04')"
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    grazie mille Andrea... adesso faccio un po di prove.... se dovessi avere altri dubbi ti farò sapere.....

  6. #6
    ciao Andrea,


    purtroppo continuo a nn riuscire a inserire i miei dati con l'orario e la data nel mio database.


    in NetBeans tramite le Java class ho fatto il seguente codice:

    codice:
    public void insDatiTemp() throws ClassNotFoundException, SQLException { 
    
    String query1 = "INSERT INTO contatore (valore) VALUES ('32')";
    
     sqlClass sql = new sqlClass(); 
     sql.doQuery(query1,"contatore");
     } 
    
    public void insDatiSensore() { 
    
    String query2 = "INSERT INTO sensoretemperatura (valore in gradi, data_ora)" + " VALUES ('33' , now())";
     sqlClass sql = new sqlClass(); 
    sql.doQuery(query2,"sensoretemperatura");
    ovviamente ho inizialmente settato tutti i parametri.

    Per tutto conto come risposta mi dice : "ERRORE DI INSERIMENTO DATI IN CONTATORE" e " ERRORE DI INSERIMENTO DATI IN SENSORETEMPERATURA".....

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Temo che tu debba usare una PreparedStatement per poter utilizzare la funzione "NOW()" di MySQL, oppure generare il TimeStamp:
    codice:
    java.util.Date d = new java.util.Date();
    Timestamp ts = new Timestamp(d.getTime());
    e metterlo nella tua query.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    ok grazie,


    seguirò anche questo tuo consiglio.... e speriamo bene

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    la cosa migliore comunque resta: documentarsi sulle tecnologie utilizzate
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.