关于foreach(DataRow)的问题
有两个表A,B
现在需要把表A的某个字段读取出来,经过处理后更新到表B
但是由于表A的数据量比较大
导致执行过程需要一定的时间,
我用的foreach(DataRow)
处理过程中一旦有人再次调用这个方法,就会导致表B被多次更新
public void fangfa(){
select * from [A] where num>0
foreach(DataRow dr in dt.rows){ //这里的数据量比较大
int num=dr["num"]+1;
update [B] set num=num+"+num+" where aid=A.id
}
}
这个方法可能会被两个工作人员同时执行,所以导致第一个人还没执行完成的时候第二个人也在执行,那么B表就会增加双倍的num
有没有大神提供一下思路解决这个问题
现在需要把表A的某个字段读取出来,经过处理后更新到表B
但是由于表A的数据量比较大
导致执行过程需要一定的时间,
我用的foreach(DataRow)
处理过程中一旦有人再次调用这个方法,就会导致表B被多次更新
public void fangfa(){
select * from [A] where num>0
foreach(DataRow dr in dt.rows){ //这里的数据量比较大
int num=dr["num"]+1;
update [B] set num=num+"+num+" where aid=A.id
}
}
这个方法可能会被两个工作人员同时执行,所以导致第一个人还没执行完成的时候第二个人也在执行,那么B表就会增加双倍的num
有没有大神提供一下思路解决这个问题
...全文
相关推荐
关于值类型与列类型不匹配,所需类型是 DataRow的解决方案
关于值类型与列类型不匹配,所需类型是 DataRow的解决方案
对象不能从 DBNull 转换为其他类型
一个转化错误,对象不能从 DBNull 转换为其他类型
C#遍历DataSet中数据的几种方法总结
foreach (DataTable dt in YourDataset.Tables) //遍历所有的datatable { foreach (DataRow dr in dt.Rows) ///遍历所有的行 foreach (DataColumn dc in dt.Columns) //遍历所有的列 Console.WriteLine(“{0}, {1}, {2}”, dt.TableName, dc.ColumnName, dr[dc]); //表名,列名,单元格数据 }
C# json 转换成DataTable
C# json 转换成DataTable
C#导出一个数据集到Excel
把数据通过后台导出到一个服务器,并提交到浏览器上是经常的,此类把一个通用的把dataset导出至EXCEL的类,优点是不需要安装OFFICE,只需要调用方法


