我正在尝试从数据库中将一些值插入到图表中。第一列(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);
}
}
答案 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)
);