2013-04-12 4 views
0

나는 mysql 데이터베이스에서 x 값을 검색하여 막대 그래프에 그려주는 윈도우 폼 차트를 갖고있다. 이것은 내가이 일을 처음 수행 한 것이므로 왜이 오류가 발생하는지 알지 못합니다. 인터넷에 솔루션을 찾고 얼마나 많은 시간에 상관없이,하지만 여전히 나는이 작업을 얻을 ca'nt :문자열 시스템 콜렉션을 int로 변환하는 방법은 무엇입니까?

public void loadChart() 
    { 
     string conn = "server=localhost;user=root;password='';database=cashieringdb;"; 
     string cmdstring = "SELECT sum FROM salessum"; 
     MySqlDataAdapter adapter = new MySqlDataAdapter(cmdstring, conn); 
     DataTable dt = new DataTable(); 
     adapter.Fill(dt); 
     chart1.DataSource = dt; 
     this.chart1.Palette = ChartColorPalette.SeaGreen; 
     this.chart1.Titles.Add("Daily Record"); 
     int[] pointsArray = a.mysqlSelect("select sum from salessum"); // error in this line 
     string[] seriesArray = { "Mon", "Tue", "Wed", "Th", "Fri" }; 

     for (int i = 0; i < seriesArray.Length; i++) 
     { 
      Series series =this.chart1.Series.Add(seriesArray[i]); 
      series.Points.Add(pointsArray[i]); 
     } 

여기에 오류가 보여줍니다 없습니다. 아니면 데이터베이스에서 데이터를 검색하고 Windows 폼 차트에 플롯 할 수있는 쉬운 방법이 있습니까?

Error 2 Cannot implicitly convert type 'System.Collections.Generic.List<string>[]' to 'int[]' 

나는이 내 코드를 변경

편집 :이 줄

List<string>[] pointsArray = a.mysqlSelect("select sum from salessum"); //no error 

오류 :

당신에 대한 목록을 변환하기 때문에이 오류가 발생
series.Points.Add(pointsArray[i]); 
+0

코드에서이 예외가 발생하는 곳은 어디입니까? –

+0

코드를 살펴 보겠습니다. 거기에 주석 줄이 있습니다. – user2262382

+1

글쎄, *'* a.mysqlSelect ("select salessum from") 정말요? 오류가 암시 하듯이, 이것은 분명히 int []가 아닙니다. 'var obj = a.mysqlSelect ("Salessum에서 선택 합계"); 그리고 어떤 타입의'obj'인지 확인하십시오. 그리고'obj'가 무엇이든간에 int []를 얻을 수있는 방법을 찾을 수 있습니다. – Corak

답변

0

int []. 암묵적으로이 작업을 수행 할 수는 없으므로 명시 적으로 수행해야합니다. Linq을 사용하면 쉽게이 작업을 수행 할 수 있습니다.

a.mysqlSelect("select sum from salessum");은 메소드 호출이라고 가정합니다.

int[] pointsArray = a.mysqlSelect("select sum from salessum").Select(i => int.Parse(i)).ToArray(); 

link뿐만 아니라 당신에게 도움이 될 것입니다 : 아웃 ( 나타내는 각 문자열)이 같이

뭔가를 문자열 목록을 넣어.

편집 : 이전에 추가 한 링크를보고 무엇을 성취 할 것인지 아이디어를 얻으십시오. :)이 코드에서

,

series.Points.Add(pointsArray[i]); 

Points.Add 방법은이 int 기대 문자열을 기대하지 않습니다. 이전에 시도한 것은 정확합니다. 그래서 포인트 배열은 int[]이어야합니다. 이 코드 의미 :

int[] pointsArray = a.mysqlSelect("select sum from salessum"); 

나는 당신이 달성하고자하는 동일한 일을 찾을 수 있다고 생각합니다. 이 을 살펴보세요. 이것은 당신에게 도움이 될 것입니다.

+0

'a.mysqlSelect ("salessum에서"sum '을 선택하십시오)라는 오류 메시지를 보면 [] 목록이 없습니다. so 코드가 작동하지 않습니다. –

+0

@ ÖzgürKaplan : O 감사합니다. –

+0

내 업데이트를보세요. – user2262382

관련 문제