You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chart控件无数据显示:数据库教练排名图表加载异常求助

问题:Chart控件展示教练排名为空

尝试从数据库读取「сoach」列数据,依据「total」列的值展示教练排名,但最终Chart控件显示为空,相关实现代码如下:

实现代码

private void fillshar()
{
    conn.Open();
    string selectQuery = "SELECT сoach,total FROM groupfit";
    NpgsqlCommand command = new NpgsqlCommand(selectQuery, conn);
    NpgsqlDataAdapter adapter = new NpgsqlDataAdapter(command);
    DataTable table = new DataTable();
    adapter.Fill(table);
    conn.Close();

    chartRate.Series["total"].XValueMember = "сoach";
    chartRate.Series["total"].YValueMembers = "total";
    chartRate.Titles.Add("Rating of the most popular trainers");
}

相关截图

  • 结果截图:Chart控件为空
  • 项设置截图:Chart项配置

排查与解决步骤

1. 补上数据源绑定代码

你漏了把查询到的DataTable绑定到Chart控件的关键步骤,在设置X/Y值成员后添加以下代码:

chartRate.DataSource = table;
chartRate.DataBind();

2. 检查列名拼写是否一致

注意代码里的「сoach」是西里尔字母с,如果数据库里的列名是拉丁字母c开头的coach,这会导致查询不到对应列,DataTable没有数据。可以添加代码打印列名确认:

foreach(DataColumn col in table.Columns)
{
    Debug.WriteLine(col.ColumnName);
}

如果列名确实是拉丁coach,把代码中所有的「сoach」替换成coach。

3. 确认查询是否返回数据

在adapter.Fill(table);之后添加代码,检查是否从数据库拿到了数据:

Debug.WriteLine($"查询到{table.Rows.Count}条数据");

如果显示0条,检查数据库连接是否正常、groupfit表是否存在且有数据。

4. 核对Series配置

从设置截图确认:

  • Series的Name确实是total,和代码中chartRate.Series["total"]的名称匹配
  • Series的ChartType设置了合适的类型(比如柱状图、折线图,不能是无显示的类型)

内容的提问来源于stack exchange,提问作者zorax8137

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 16:22:47