Как загрузить строку из sql в dgv, написав код? - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть таблица с именем TBL_PRODUCTS

CREATE TABLE TBL_PRODUCTS
(
    Products_ID varchar(50) PRIMARY KEY,
    Products_Name varchar(100) NOT NULL,
    Products_Categorys_ID int,
    Products_Qty DECIMAL(16,0),
    Products_Sales_Price DECIMAL(16,0),
    Products_Cost_Price DECIMAL(16,0)
);

и у меня есть приложение для просмотра данных в моем приложении Windows, которое имеет 6 столбцов:

(Products_ID, Products_Name, Products_Categorys_Name, Products_Qty, Products_Sales_Price, Products_Total)

Я хочу, чтобы пользователь писал в 1-й колонке (Products_ID) код продукта, который он показывает в той же строке, другие детали в этой строке, такие как (Products_Name, Products_Categorys_Name, Products_Sales_Price) и т. Д. *

Как я могу сделать что-то подобное?

Я пробовал этот код:

SqlConnection con = new SqlConnection("Data Source=GMCADIOM-PC;Initial Catalog=TEMP;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");
string sqlqry = "SELECT [Products_ID] as 'كود المنتج',[Products_Name] as 'اسم المنتج',Products_Categorys_Name as 'اسم الصنف',[Products_Qty] as 'الكميه المتاحه',[Products_Sales_Price] as 'سعر البيع',[Products_Cost_Price] as 'سعر الشراء' FROM TBL_PRODUCTS INNER JOIN TBL_PRODUCTS_CATEGORYS ON TBL_PRODUCTS_CATEGORYS.Products_Categorys_ID=TBL_PRODUCTS.Products_Categorys_ID WHERE [Products_ID] LIKE '"+ dgvBillsList.CurrentRow.Cells[0].Value.ToString()+ "'";
SqlCommand cmd = new SqlCommand(sqlqry, con);
con.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);

        try
        {
            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                        dgvBillsList.CurrentRow.Cells["Products_ID"].Value = dt.Rows[i]["كود المنتج"];
                        dgvBillsList.CurrentRow.Cells["Products_Name"].Value = dt.Rows[i]["اسم المنتج"];
                        dgvBillsList.CurrentRow.Cells["Products_Categorys_Name"].Value = dt.Rows[i]["اسم الصنف"];
                        dgvBillsList.CurrentRow.Cells["Products_Sales_Price"].Value = dt.Rows[i]["سعر البيع"];
                }
            }
            else
            {
                var result = MessageBox.Show("هذا المنتج غير موجود بقاعده البيانات ، هل تريد اضافته ؟؟", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == DialogResult.Yes)
                {
                    frmProductsNew frm = new frmProductsNew();
                    frm.StartPosition = FormStartPosition.CenterScreen;
                    frm.ShowDialog();
                }
                else if (result == DialogResult.No)
                {
                    //dgvBillsList.CurrentRow.Cells[0].Value = null;
                    //dgvBillsList.CurrentRow.Cells[0].Selected = true;
                    //dgvBillsList.CurrentCell = dgvBillsList.CurrentRow.Cells[0];
                    //dgvBillsList.CurrentCell.Selected = true;
                    //dgvBillsList.BeginEdit(true);
                    //dgvBillsList.CurrentCell = dgvBillsList.Rows[dgvBillsList.Rows.Count].Cells[0];
                }
            }

            CONF_Calculate.Calculate_DGV_Products(dgvBillsList);
            CONF_Calculate.Calculate_DGV_Total(dgvBillsList, txtBillsAmount);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

но это дает мне ошибки на стороне запроса

Ссылка на объект не установлена ​​на экземпляр объекта на dgvBillsList.CurrentRow.Cells [0] .Value.ToString ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...