寫過批量更新的代碼,爲了方便查找,發上來sql
1 class DBHelper 2 { 3 //操做配置文件 4 Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 5 //先取一次,作爲對比的基礎 6 SqlConnection conn = new SqlConnection(); 7 SqlCommand comm = new SqlCommand(); 8 //連接數據庫 9 public void Open() 10 { 11 conn = new SqlConnection(config.AppSettings.Settings["connstr"].Value); 12 conn.Open(); 13 } 14 //斷開鏈接 15 public void Close() 16 { 17 conn.Close(); 18 } 19 //執行sql,並返回第一行第一列 20 public object ExecuteScalar(string sql) 21 { 22 comm.CommandText = sql; 23 comm.Connection = conn; 24 return comm.ExecuteScalar(); 25 } 26 //執行sql,並返回執行結果 27 public DataTable GetResult(string sql) 28 { 29 SqlDataAdapter sda = new SqlDataAdapter(sql, conn); 30 DataTable dt = new DataTable(); 31 sda.Fill(dt); 32 return dt; 33 } 34 //執行sql 35 public void ExecuteNonQuery(string sql) 36 { 37 comm.CommandText = sql; 38 comm.ExecuteNonQuery(); 39 } 40 //批量更新 41 public void Update(DataTable dt, string tablename) 42 { 43 using (SqlBulkCopy sqlcopy = new SqlBulkCopy(conn)) 44 { 45 sqlcopy.BulkCopyTimeout = 10000; 46 sqlcopy.DestinationTableName = tablename; 47 sqlcopy.WriteToServer(dt); 48 } 49 } 50 }