我正在购买像WF中的Form一样的购物车 . 我有一个 DataGridView
和 ADD_Button
和 Submit_Button
. 用户将从库存中选择项目并单击 ADD_Button
该项目将进入 DataGridView
完成后用户将单击 Submit_Button
然后详细信息将进入数据库 .
问题:这是在将产品/行添加到 DatagridView
之后当我再次添加相同的产品时 . 它进入新行我想要的地方 Pro_ID
列匹配,行更新时使用新的数量 . 我试图搜索网络,但我得到了SQL查询 .
private void btn_Add_Click(object sender, EventArgs e)
{
i = dgv_Purchase.Rows.Count;
try
{
dgv_Purchase.Rows.Add();
.......
.......
dgv_Purchase.Rows[i - 1].Cells["Pro_ID"].Value = txt_ProID.Text;
.......
.......
dgv_Purchase.Rows[i - 1].Cells["Purchase_Qty"].Value = txt_Qty.Text;
}
catch (Exception ){}
}
这是提交按钮代码
private void btnInsert_Click(object sender,EventArgs e){string cs = ConfigurationManager.ConnectionStrings [“PRMSConnectionString”] . ToString(); SqlConnection con = new SqlConnection(cs); SqlTransaction objTransaction;
for (int i = 0; i < dgv_Purchase.Rows.Count - 1; i++)
{
//SomeCode part of code
SqlCommand objCmd2;
string cmd2 = "INSERT INTO PurchaseMaster " +
" (Pro_ID , category_ID, Purchase_Qty) " +
"VALUES (@Pro_ID, @category_ID, @Purchase_Qty)";
objCmd2 = new SqlCommand(cmd2, con, objTransaction);
objCmd2.Parameters.AddWithValue("@Pro_ID_ID", dgv_Purchase.Rows[i].Cells["Pro_ID"].Value.ToString());
objCmd2.Parameters.AddWithValue("@Category_ID", dgv_Purchase.Rows[i].Cells["Category_ID"].Value.ToString());
objCmd2.Parameters.AddWithValue("@Purchase_Qty", Convert.ToInt32(dgv_Purchase.Rows[i].Cells["Purchase_Qty"].Value.ToString()));
objCmd2.Parameters.AddWithValue("@Date_Today", Convert.ToDateTime(dgv_Purchase.Rows[i].Cells["Purchase_Date"].Value.ToString()));
...........................
Rest of the Code
...........................
try
{
objCmd2.ExecuteNonQuery();
objTransaction.Commit();
}
catch (Exception) {}
}
}
2 回答
我用DGVrow而不是DataRow编辑它
试试这个: