СЧИТАЙТЕ количество продаж и отобразите в виде списка C # - PullRequest
0 голосов
/ 01 декабря 2018

У меня есть следующий код, который должен перечислить (в ListView) каждый продукт, тип продукта и количество клиентов, которые приобрели продукт.Я пробовал это, но это не работает.

Я не уверен, нужно ли мне создать другой класс, а затем определить список и что мне нужно включить в ListViewItems.Я новичок в кодировании C #, но мне удалось показать данные с использованием аналогичных метидов, но мне раньше не требовалось делать вычисления.Любая помощь будет оценена.Я могу предоставить файлы (Project и 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);
        }
    }

Ответы [ 2 ]

0 голосов
/ 01 декабря 2018

Да, вам нужно создать другой класс.Получите данные с помощью этих запросов и задайте для таблицы данных и назначьте таблицу данных для Listview.

0 голосов
/ 01 декабря 2018

Создайте Класс продукта и получите данные, как показано ниже

    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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...