投射类型未指定错误C#

时间:2014-02-04 14:12:05

标签: c#

我正在尝试从数据库中将一些值插入到图表中。第一列(X轴)是String类型,第二列(Y轴)是float类型。当我按下按钮时,我不断收到此错误“Cast Type not specified”。请帮忙

  private void ViewGraphBtn_Click(object sender, EventArgs e)
  {
      try 
      { 
          Query = "SELECT *  FROM Products;";
          Reader = conn.ExecuteStatement(Query);

          while (Reader.Read())
          {
              this.chart1.Series["Series1"]
                         .Points.AddXY(Reader.GetString(1), Reader.GetInt64(4));
          }
      }
      catch (Exception ex) 
      { 
           MessageBox.Show(ex.Message); 
      }
  }

1 个答案:

答案 0 :(得分:0)

我认为你的意思是“指定演员表无效”。我假设您需要将X值解析为数字类型,并使用GetFloat方法提取float数据:

   this.chart1
       .Series["Series1"]
       .Points
       .AddXY(float.Parse(Reader.GetString(1)),   // <-- parse to float
              Reader.GetFloat(4)
             );

根据您的评论,如果您只需解析数字字符,则可以使用Regex.Replace删除任何非数字或句点的内容:

   this.chart1
       .Series["Series1"]
       .Points
       .AddXY(float.Parse(Regex.Replace(Reader.GetString(1),@"[^\d|\.]","")),   // <-- parse to float
              Reader.GetFloat(4)
             );