获取小组并计算数据集数据

LabProarw

成员
加入
2019年11月4日
消息
24
编程经验
1-3
下面的我的代码会收集来自一组日期之间的TBL_Sample_Login_table的样本总数。这是一个很好的所有Samles - 然而,我需要做的是ProductName的组 - 捕获该产品名称 - 并获得该产品的总数......继续为所有不同的产品。这是为了为日期范围内的所有产品进行摘要报告。我无法找到搜索如何达到报告的最终目标。我正在使用vs2019。


从数据集获取组和计数:
     using (OleDbConnection dbConnection = new OleDbConnection(GlobalVar.networkConnectionString))
            {
                // CREATE THE COMMAND AND PARAMETER OBJECTS.
                OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
                OleDbCommand cmd;
                cmd = new OleDbCommand("SELECT ProductName FROM tbl_Sample_Login_table WHERE LoginDate BETWEEN @startingDate AND @endingDate ORDER BY ProductName", dbConnection);
                cmd.Parameters.AddWithValue("@startingDate", startingDate);
                cmd.Parameters.AddWithValue("@endingDate", endingDate);
                dbConnection.Open();
                dataAdapter.SelectCommand = cmd;
                DataSet ds = new DataSet();
                dataAdapter.Fill(ds, "tbl_Sample_Login_table");
                int recordCount;
                recordCount = ds.Tables[0].Rows.Count;

任何建设性指导?
谢谢。
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,741
地点
切萨皮克,va.
编程经验
10+
我注意到你在上面使用Oledb。您使用什么样的数据库在该OLEDB连接后面使用,并支持分组?

如果它确实支持分组,通常,您希望让数据库进行分组和计算每个组的子总数的努力工作。让它将这些结果返回给您,因为它可以更有效地进行,并且还可以在线发送较少的数据。你需要搜索如何"使用SQL与计子特拉"

If it does not support grouping, then you'll need to do the hard work of grouping and computing the sub-totals for each group. Before the introduction of LINQ and LINQ extension methods you would have to roll your own code, but this gets much easier using LINQ's GroupBy() and Sum() extension methods. The downside is that ends to be less efficient because all the data first needs to be sent from the database back to your C# code, and then your code needs to go do the processing the rows using those extension methods. Grouping costs memory and CPU time.
 

LabProarw

成员
加入
2019年11月4日
消息
24
编程经验
1-3
我注意到你在上面使用Oledb。您使用什么样的数据库在该OLEDB连接后面使用,并支持分组?

如果它确实支持分组,通常,您希望让数据库进行分组和计算每个组的子总数的努力工作。让它将这些结果返回给您,因为它可以更有效地进行,并且还可以在线发送较少的数据。你需要搜索如何"使用SQL与计子特拉"

If it does not support grouping, then you'll need to do the hard work of grouping and computing the sub-totals for each group. Before the introduction of LINQ and LINQ extension methods you would have to roll your own code, but this gets much easier using LINQ's GroupBy() and Sum() extension methods. The downside is that ends to be less efficient because all the data first needs to be sent from the database back to your C# code, and then your code needs to go do the processing the rows using those extension methods. Grouping costs memory and CPU time.
我正在使用一个访问后端。我无法获得报表查看的任何工具,以便在MS VS2019中显示在我的工具栏上 - 我认为这将是制作可打印报告的更简单的方法。根本没有报告工具。我下载了几个报告相关工具,并认为他们安装了,但只有一个'AxrdpViewer'是可能的。
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,741
地点
切萨皮克,va.
编程经验
10+
最佳 底部