因为要向数据库添加一些数据,数据量较大
1.使用sql语句批量提交速度较慢
2.用事物批量提交,速度一般
3.用SqlBulkCopy方法写入数据,速度较快
/// <summary> /// 使用SqlBulkCopy方法向数据库中写入数据,一般用于大量数据写入,效率较高 /// 注:使用此方法必须保证传如的DataTable每列列名和数据库一一对应 /// </summary> /// <param name="datadt">要导入的数据源</param> /// <param name="dbTableName">要导入到数据库的数据表名</param> public void ExecuteSqlBulkCopy(DataTable datadt, string dbTableName) { using (SqlConnection conn = new SqlConnection(boName)) { using (SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(boName, SqlBulkCopyOptions.UseInternalTransaction)) { try { sqlbulkcopy.DestinationTableName = dbTableName; for (int i = 0; i < datadt.Columns.Count; i++) { sqlbulkcopy.ColumnMappings.Add(datadt.Columns[i].ColumnName, datadt.Columns[i].ColumnName); } sqlbulkcopy.WriteToServer(datadt); } catch (System.Exception ex) { throw ex; } } } }
1w条数据,1秒左右