2017-02-19 8 views
0

合計(Pc)に基づいてSとS(Pc)に基づいて2つの系列を表示すると、表示するコードをどのように変更できますかエラーなしの両方のシリーズ。Cでチャートに2つのシリーズを表示したい#

これは私のコードです:

form_load() 
{ 
    chart1.Series.clear(); 
    string cs=ConfigurationManager.ConnectionSrings["dbcs"].connectionString; 
    using(SqlConnection Con=new SqlConnection(cs)) 
    { 
    SqlCommand cmd=new SqlCommand("select distinct(S),distinct(R),sum(PC) from mytable group by S,R",con); 
    Series series=chart1.Series["Series"]; 
    Con.Open(); 
    SqlDataReader rdr=cmd.ExecuteReader(); 
    while(rdr.Read()) 
    { 
     series.Points.AddXY(rdr["S"].tostring(),rdr["PC"]); 
     series.Points.AddXY(rdr["R"].tostring(),rdr["PC"]); 
    } 
    } 
} 
+0

newSeries.Points.AddXY(etc)は 'DISTINCT'が(列の)関数ではありませんが、それはDISTINCT'をSELECT'の一部だと選択された行全体に適用されます。 'select distinct(S)、...'の代わりに 'select distinct S、...'と書いてください。コードははるかに明確になります。 – jarlh

+0

@jarlh申し訳ありませんが、あなたのご意見はありません。 –

+0

'DISTINCT'は関数ではありません! Sの周りのカッコを削除するだけで、必要はなく、違いはありません! – jarlh

答えて

0

あなたは別のシリーズをすることができ、そのように。

Series newSeries = new Series("test"); 
Chart1.Series.Add(newSeries); 

あなたはそれはあなたがあなたのオリジナルシリーズのために使用するのと同じ方法を使用して値をだ移入することができ、

関連する問題