我有一个程序需要从Excel读取数据,并进行数据库的更新操作,我是通过循环读取Excel的数据进行拼接SQL操作的,但是这个Excel数据有十几万条,这样循环拼接的话SQL字符串的长度会达到百万级的长度,这种长度的SQL语句SQLServer进行查询会有问题吗?
我的代码类似如下:
foreach (DataRow dataRow in dt.Rows) { if (!string.IsNullOrEmpty(dataRow[0].ToString()) && !string.IsNullOrEmpty(dataRow[1].ToString())) { sql += string.Format("update uf_gysxxb set lxhszyxmc='{0}' where BANKL='{1}'; ", dataRow[1].ToString().Trim(), dataRow[0].ToString().Trim()); } }
大批量更新,难道你没听过SQLBulkCopy这种东西吗?