У меня есть таблица с именем 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 ()