首页 > 解决方案 > 统计销售数量并在列表视图中显示 C#

问题描述

我有以下代码需要列出(在 ListView 中)每个产品、产品类型和购买该产品的客户数量。我已经尝试过了,但它不起作用。

我不确定是否需要创建另一个类,然后定义列表以及需要包含在 ListViewItems 中的内容。我是 C# 编码的新手,但能够使用类似的方法显示数据,但我以前不需要进行计算。任何帮助,将不胜感激。如果需要,我可以提供文件(项目和 SQL)。

namespace Acme
{
public partial class frmMainForm : Form
{
    public frmMainForm()
    {
        InitializeComponent();
    }
     //Not sure if the following is correct//   
    private void DisplaySales()
    {
        string selectQuery;

        selectQuery = "SELECT Products.ProductName, ProductTypes.ProductType, COUNT(Sales.ProductID) as SALES,"; 
        selectQuery = selectQuery + "FROM Products INNER JOIN ProductTypes ON Products.ProductTypeID,";
        selectQuery = selectQuery + "ProductTypes.ProductTypeID INNER JOIN, ";
        selectQuery = selectQuery + "Sales ON Sales.ProductID = Products.ProductID GROUP BY Products.ProductName ";
        selectQuery = selectQuery + "ProductTypes.ProductType, Sales.ProductID";
        selectQuery = selectQuery + " " + GlobalVariables.salesSearchCriteria;

        SqlConnection conn = ConnectionManager.DatabaseConnection();
        SqlDataReader rdr = null;

        try
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand(selectQuery, conn);
            rdr = cmd.ExecuteReader();
            while (rdr.Read())
            {

                //Not sure if I need to create a seperate Class and then define the list (Class - ProductSales??)

                //Also need to include ListviewItems ??????

            }
            if (rdr != null)
                rdr.Close();
            conn.Close();
        }
        catch (Exception ex)
        {
            MessageBox.Show("Unsuccessful" + ex);
        }
    }

标签: c#sql

解决方案


创建产品类,并获取如下示例数据

    SqlDataReader reader = command.ExecuteReader();

    List<Product> lstProduct = new List<Product>();

    if (reader.HasRows)
    {
        while (reader.Read())
        {
            Product product = new Product();
            product.ProductName = reader.GetString(0);
            ...
            lstProduct.add(product);
        }
    }

    // Do what you want with lstProduct

推荐阅读