net中,批量更新数据,大家一般是怎么做的,如同时修改100条出库信息,包括商品ID、数量、价格等等,当然还有一个主键ID
解决方案 »
- asp.net 语法问题
- asp.net gridview分页
- 求解
- 遮罩层在ie6里面没有遮盖完整,大家帮忙看下
- 删除usercontrol里面的带CheckBox的Datagrid问题
- 如何解决服务器提示客户断工作过多?
- 帮忙分析下这段下载代码
- 用xml做treeview的数据源后,点击左边框架中的树接点,在右边框架中无法显示相应的页面?
- 关于dojo的几个问题,高手来拿分!!
- “無法套用有[]的索引至型別 'System.Array' 的運算式”,這個問題如何解決?
- 用mysql做数据库,用多个WCF来访问多个mysql数据库,是否支持MSDTC下的分布式事务?
- asp.net mvc在企业中得到大规模应用了吗?
还是拼装SQL语句(UPDATE.....UPDATE...)应该也不会把
还是存储过程里用charindex、SubString进行循环裁,再UPDATE,似乎也不好
还是其他的
DataSet ds=new DataSet();
SqlDataAdapter sda=new SqlDataAdapter(Sql,myConn);
SqlCommandBuilder cb=new SqlCommandBuilder(sda);
SqlCommand upCmd=new SqlCommand("update ...",myConn);
upCmd.Parameters.Add("@a",SqlDbType.NVarChar,100,"a");
sda.UpdateCommand=upCmd;
sda.Fill(ds,"a");
myConn.Close();
......//修改ds数据
sda.Update(ds,"a");
我用过类似的方法,单只能添加,不能修改,即使设置了UpdateCommand,还是添加,不是修改,另外,"select * from Tb",sda.Fill(ds,"a"),如果我的TB里有100W条数据,这里是不是就会把100W条数据都填充到DataSet里
也看到过6楼的例子,在想如果在
string Sql="select * from Tb";
上加上条件,sda.Fill(ds,"a");
myConn.Close();在这里再循环ds.Tables[0],与提供的修改过的数据表进行对比更新,感觉太麻烦,至少需要一个嵌套循环,
我在想是否能够提供一个DataTable,就可以直接进行修改
sda.Update(ds,"a");
删除再添加(如果可以)- -
批量更新
里面循环修改一百次数据!
for(int i=0;i<count;i++)
{
写更新的执行语句
}
这也是一种方法
大数据量的没有做过
不过用for或while循环或者拼接SQL语句和事务控制应该只能满足一些小批量的更新