Mysql
 sql >> Database >  >> RDS >> Mysql

Query eseguita due volte (per errore) in Java con valori indesiderati

Rincorrere le anomalie nei dati è arduo, ma JFreeChart può almeno rendere il risultato più facile da visualizzare. Alcune euristiche per i test:

  • Per verificare che i presunti duplicati nel tuo elenco tabulare siano effettivamente duplicati, formatta i timestamp in modo da includere i millisecondi, ad es. aggiungi una S in un SimpleDateFormat o A a un DateTimeFormatter .

  • Per studio, passa temporaneamente la query direttamente a JDBCXYDataset e aggiungi un ORDER BY clausola (non testata):

    jds.executeQuery(
          "SELECT Date_Heure, PV, SV FROM cmd3 "
        + "WHERE Date_Heure BETWEEN "
        + "2020-06-25 00:00:00 AND 2020-06-26 00:00:00 "
        + "ORDER BY Date_Heure");
    
  • Abilita i suggerimenti nella tua ChartFactory , come hai fatto qui , per visualizzare i valori dei dati in situ . Questo potrebbe suggerire condizioni aggiuntive per il tuo WHERE clausola, ad es. PV BETWEEN 5.1 AND 5.9 .

  • Usa il JFreeChart interattivo controlli pan/zoom, discussi qui esaminare i dati; aggiungi pulsanti adatti, mostrati qui , se consentirà ai colleghi di visualizzare più facilmente i tuoi risultati.

  • In base alla progettazione, JDBCXYDataset esegue una query definita da una String . Se il tuo progetto ha bisogno di visualizzare i dati da una query definita da un PreparedStatement , puoi utilizzare l'esistente implementazione come guida.

    public class PreparedDataset extends AbstractXYDataset
        implements XYDataset, TableXYDataset, RangeInfo {
    
        private final PreparedStatement ps;
    
        public PreparedDataset(PreparedStatement ps) {
            this.ps = ps;
        }
        …
    }