我正在用 C# 开发 Windows 应用程序。
我有一个 gridview,里面有大约 40k 条记录。
在那个gridview我有复选框。
我只想更新那些被检查的记录。
我已经为它编写了以下代码>>
for (int i = 0; i < gvTradeFile.Rows.Count; i++)
{
try
{
DataGridViewCell cell = gvTradeFile.Rows[i].Cells[0];
bool check = (bool)cell.Value;
if (check)
{
try
{
con.Open();
cmd = new SqlCommand("update tradeFile set Party_Code='" + txtTransferPartyCode.Text + "' where Party_Code='" + gvTradeFile.Rows[i].Cells[1].Value.ToString() + "' and TradeNo='" + gvTradeFile.Rows[i].Cells[6].Value.ToString() + "' and Sauda_Date='" + gvTradeFile.Rows[i].Cells[13].Value.ToString() + "' and OrderNo='" + gvTradeFile.Rows[i].Cells[14].Value.ToString() + "'", con);
cmd.ExecuteNonQuery();
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
con.Close();
}
}
}
catch (Exception ex)
{
}
}
在此,如果我们查看for loop
i 正在处理网格中的每一行。
是否有任何特定技术可以让我在 for 循环中直接仅使用选中的行[通过网格中的复选框]?
上面的代码工作正常,但由于检查了每一行,exe 被挂起。
请帮我。