【发布时间】:2021-01-10 04:02:03
【问题描述】:
此 C# 代码经过测试可以正常工作,但对我来说似乎效率低下。如何避免每个 foreach 交互中的所有开销,比如 1,000 行?
SqlConnection con = new SqlConnection(strConn); // strConn is set elsewhere in the code
string strSQL = "select pkCustomer from Customer where YearEndDeactivateInd = 1";
SqlDataAdapter adap = new SqlDataAdapter(strSQL, con);
DataTable dt = new DataTable();
con.Open();
adap.Fill(dt);
foreach (DataRow row in dt.Rows)
{
string strSQL1 = "update Ticket set activeInd = 0 where fkCustomer = " + row["pkCustomer"].ToString();
SqlDataAdapter adap1 = new SqlDataAdapter(strSQL1, con);
DataTable dt1 = new DataTable();
adap1.Fill(dt1);
}
con.Close();
我正在根据另一个表的结果更新一个表。我应该改用批量更新吗?
【问题讨论】:
标签: c# sql-server sqldataadapter