sql >> Databasteknik >  >> RDS >> Mysql

Fråga exekveras två gånger (av misstag) i Java med oönskade värden

Det är svårt att jaga avvikelser i data, men JFreeChart kan åtminstone göra resultatet lättare att visualisera. Några heuristik för testning:

  • För att verifiera att de förmodade dubbletterna i din tabellförteckning verkligen är dubbletter, formatera tidsstämplarna så att de inkluderar millisekunder, t.ex. lägg till en S till ett SimpleDateFormat eller A till en DateTimeFormatter .

  • För studier, skicka tillfälligt frågan direkt till JDBCXYDataset , och lägg till en ORDER BY klausul (otestad):

    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");
    
  • Aktivera verktygstips i din ChartFactory , som du gjorde här , för att se datavärden på plats . Detta kan föreslå ytterligare villkor för din WHERE klausul, t.ex. PV MELLAN 5.1 OCH 5.9 .

  • Använd den interaktiva JFreeChart panorerings-/zoomkontroller, diskuteras här att granska uppgifterna; lägg till lämpliga knappar, visas här , om det gör det lättare för kollegor att se dina resultat.

  • Genom design, JDBCXYDataset exekverar en fråga som definieras av en String . Om din design behöver visa data från en fråga som definieras av en PreparedStatement , kan du använda den befintliga implementering som vägledning.

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



  1. Hur återställer jag root-lösenordet i MySQL 8.0.11?

  2. beräkna summan av alla siffror i en kolumn

  3. Hur markerar man rader om de innehåller dubbletter av data?

  4. scatter plot i jfreechart från databasen