c# - 如果我向datagridview中的现有行添加新行,如何在c#中只将这些新行插入到sql数据库中?
问题描述
我想知道当我将数据加载到 datagridview 以更新它们时,在将新行添加到现有行之后,如何在不复制现有行的情况下更新新添加的行。这是我的代码
private void btnedit_Click(object sender, EventArgs e)
{
DynamicConnection con = new DynamicConnection();
try
{
if (txtPONo.Text != "" || cmbsupID.Text != "" || date1.Text != "" || requireddate.Text != "" || txtgrandTotal.Text != "")
{
PurchaseOrder PO = new PurchaseOrder();
if (cmbsupID.Text.Contains('-'))
{
string str = cmbsupID.Text;
int index = str.IndexOf('-');
if (index > 0)
{
int value = int.Parse(str.Substring(0, index));
PO.UpdatePurchseOrderTable(Convert.ToInt32(txtPONo.Text), value, date1.Text, requireddate.Text, Convert.ToDouble(txtgrandTotal.Text));
}
}
else
{
int value2 = Convert.ToInt32(cmbsupID.Text);
PO.UpdatePurchseOrderTable(Convert.ToInt32(txtPONo.Text), value2, date1.Text, requireddate.Text, Convert.ToDouble(txtgrandTotal.Text));
}
for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
{
int PONO = Convert.ToInt32(txtPONo.Text);
string column1 = Convert.ToString(dataGridView1.Rows[i].Cells[1].Value);
int column2 = Convert.ToInt32(dataGridView1.Rows[i].Cells[2].Value);
double column3= Convert.ToDouble(dataGridView1.Rows[i].Cells[3].Value);
double column4 = Convert.ToDouble(dataGridView1.Rows[i].Cells[4].Value);
PO.UpdatePOCartTable(PONO,column1,column2,column3,column4);
}
}
else
{
MessageBox.Show("Please Provide Details!");
}
dataGridView1.Rows.Clear();
ClearData();
retviewPO_No();
MessageBox.Show("Record Updated Successfully");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
另外-在我的程序中,它具有用于插入、更新或删除采购订单的 datagridview,它的行为就像一个购物车。这个 datagridview 由 BookName、ISBNNo、订单数量、单价和总计组成。当我将此 datagridview 数据插入数据库时,每行插入具有唯一标识 PO_Cart_No(pk) 的具有标识值的行。
还有其他背景文本框详细信息,即 Po_No、supplier_Id 和总计详细信息插入到名为 PO 表的单独表中。这两个表也与外键 PO_No 链接。我的问题是当我向现有行添加新行以更新数据库时,该新行没有插入,只有其他行数据已更新。
解决方案
推荐阅读
- raspberry-pi3 - 没有 pushtotalk 文件无法使用我的自定义谷歌应用程序
- angular - 离子,如何将 uint 数组更改为字符串(utf-8)
- xslt - 如何在 Dart 中进行 XSL 转换
- django - 如何访问 django 请求正文中的多个值?
- sql - PowerBI:单击矩阵中的一行后如何在第二页上显示详细数据?
- c++ - 链表删除节点c++
- c# - 我不能从视图中调用控制器中的操作方法
- laravel - composer.json 不包含有效的 JSON
- javascript - 如何检测是否提到了机器人?
- java - 在没有阻塞 UI 线程的情况下更新 tableview javafx