C#批量更新sql实例
本文实例讲述了C#批量更新sql的方法,分享给大家供大家参考。具体方法如下:
要实现批量更新Card数据,主要有以下步骤:
1、首先建立数据库连接
2、把部分数据填充到Dataset中
3、修改Dataset中数据的值
4、更新Dataset
5、循环操作,具体操作过程见下面代码:
publicvoidBatchUpdate(List<Card>list) { using(SqlConnectionconn=newSqlConnection(DbHelperSQL.connectionString)) { conn.Open(); using(SqlDataAdapterda=newSqlDataAdapter()) { da.SelectCommand=newSqlCommand("selecttop100ScanFlag,CardIdfromCard",conn); DataSetds=newDataSet(); da.Fill(ds);
da.UpdateCommand=newSqlCommand("updateCardsetScanFlag=@ScanFlagwhereCardId=@CardId",conn); da.UpdateCommand.Parameters.Add("@ScanFlag",SqlDbType.Bit,1,"ScanFlag"); da.UpdateCommand.Parameters.Add("@CardId",SqlDbType.Int,4,"CardId"); da.UpdateCommand.UpdatedRowSource=UpdateRowSource.None; da.UpdateBatchSize=0;
for(inti=0;i<list.Count;i++) { for(intj=0;j<ds.Tables[0].Rows.Count;j++,i++) { ds.Tables[0].Rows[j].BeginEdit(); ds.Tables[0].Rows[j]["ScanFlag"]=true; ds.Tables[0].Rows[j]["CardId"]=list[i].CardId; ds.Tables[0].Rows[j].EndEdit(); if(i==list.Count-1) break; } da.Update(ds.Tables[0]); } ds.Clear(); ds.Dispose(); } } }