2017-03-01 73 views
-3

我試圖顯示日期並將其恢復到「標籤=字符串」, ,但我有一個錯誤行「list.Add((字符串)myReader [」日期「]);」無法投射「System.DateTime」類型的對象以鍵入「System.String」。 c#

這裏是我的代碼:

con.Open(); 
     myReader = cmdDB.ExecuteReader(); 
     List<string> list = new List<string>(); 
     while (myReader.Read()) 
     { 
      list.Add((string)myReader["Date"]); 
     } 

     string[] strings = list.Select(x => x.ToString()).ToArray(); 
     cartesianChart1.AxisX.Add(new Axis 
     { 
      Title = "Date", 
      Labels = strings 
     }); 

     cartesianChart1.AxisY.Add(new Axis 
     { 
      Title = "Sales", 
      LabelFormatter = value => value.ToString() 
     }); 

任何解決方案?謝謝!附:我使用livechart和mysql

回答

0

list.Add(Convert.ToString(myReader["Date"])); 

它似乎你的Date列不是字符串,而是日期時間列。

在做(string)myReader["Date"]嘗試在datetime列顯式類型轉換爲字符串,這是不可能的。但是Convert.ToString給出了你的值的字符串表示。

即使值爲null,Convert.ToString(object value)也會返回null而不是像.ToString()那樣拋出異常。

相關問題