C#:使用 SqlDataReader 在图表上显示 SQL 查询

Posted

技术标签:

【中文标题】C#:使用 SqlDataReader 在图表上显示 SQL 查询【英文标题】:C# : display SQL query on a chart using SqlDataReader 【发布时间】:2022-01-09 23:52:37 【问题描述】:

这是我的查询,我想这样显示:命令日期的命令总和(每个日期应该有一个栏,显示该特定日期(天)有多少销售(命令)

select 
    date_comm as 'jourdetravail',
    sum(TotalCom) as 'recettedujour' 
from 
    Commande_art 
group by 
    date_comm

【问题讨论】:

你有没有尝试过?您是否寻找过解决方案?似乎是很多人想做的事情。 SO 并不适合你的工作。如果您尝试某事并陷入困境,您会发现这里有很多人愿意提供帮助,但您要求的太多了。 ***.com/questions/36620000/… 你可以看看这个关于 SO 的问题。 谢谢@DanielKelsch 这正是我想要的!非常感谢 【参考方案1】:

您可以使用此脚本填充数据表,然后将数据表用作图表的源,并且您需要在 x 轴上对图表进行索引

SqlConnection con = new SqlConnection("Data Source=<Your Server>;Initial Catalog=<YourDatabase>;Persist Security Info=True;User ID=<yourID>;Password=<yourPassword>");
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select [date_comm] as 'jourdetravail', sum([TotalCom]) as 'recettedujour' from [dbo].[Commande_art] group by [date_comm]";
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);

然后是你的“dt”:

<yourChart>.DataSource = dt;

您还需要将 2 个系列的图表设置为与查询列的名称相同,以便正确显示它们

【讨论】:

以上是关于C#:使用 SqlDataReader 在图表上显示 SQL 查询的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中使用 SqlDataReader 获取行数

在 c# 中使用 SqlDataReader 填充 List<T>

在 c# 中,我们是不是可以控制在单个处理器或一定数量的处理器上显式运行代码?

C# 在 SqlDataReader 中禁用自动格式化

c# - 从 SqlDataReader 填充通用列表

C# 使用 SqlDataReader 从 SQL Server 检索数据到主详细信息列表