2017-12-20 17 views
0

Ich habe eine SQL-Tabelle mit den Kundendaten und dem Datum, das sie eincheckten. Ich habe Diagrammsteuerelemente verwendet, um den Graphen automatisch zu zeichnen, aber die X-Achse hat das tatsächliche spezifische Datum, an dem sie eingecheckt haben, z. '09/11/17 '. Ich möchte, dass sie den Monat anzeigt, in dem sie eingecheckt haben. Dazu habe ich darüber nachgedacht, eine weitere Spalte in der Kundentabelle zu erstellen, um den Monat anzuzeigen, in dem sie eingecheckt haben, aber das scheint ineffizient zu sein.C# asp.net- Verwenden Diagrammsteuerelemente- Sortierung x Achse in Monaten

Gibt es eine bessere Methode, dies zu tun?

meinen Code in Diagramm-Seite:

public void load() 
    { 
     SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DataBconnection"].ConnectionString); 
     DataTable dtbl = new DataTable(); 
     using (con) 
     { 
      con.Open(); 
      SqlDataAdapter sqlDa = new SqlDataAdapter("SELECT Check-In, Count(ID) AS ID FROM Customer GROUP BY Check-In ", con); 
      sqlDa.Fill(dtbl); 
      Chart1.DataSource = dtbl; 
      Chart1.Series["Series1"].XValueMember = "Check-In"; 
      Chart1.Series["Series1"].YValueMembers = "ID"; 

     } 

Ich bin auch neu in C# Chart-Kontrollen, so würde es sehr, wenn jedermann geschätzt bieten kann mir Ressourcen, aus denen ich mehr lernen kann :)

Antwort

0

Ich würde vorschlagen, dies in der SQL-Anweisung selbst tun, wäre es ein wenig redundant, um sowohl das vollständige Datum und den Monat separat zu speichern. Versuchen Sie, Ihre Abfrage zu ändern zu:

"SELECT MONTH(Check-In), Count(ID) AS ID FROM Customer GROUP BY MONTH(Check-In)" 

Beachten Sie, dass dies übernimmt die Daten aus dem gleichen Jahr sind

Verwandte Themen