asp.net中怎么使用SqlBulkCopy插入数据到 SQL Server

开发技术 作者:Leah 2024-03-26 15:50:01
asp.net中怎么使用SqlBulkCopy插入数据到 SQL Server,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更�...

asp.net中怎么使用SqlBulkCopy插入数据到 SQL Server,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

代码如下: using System; using System.Diagnostics; using System.Data; using System.Data.SqlClient; using Microsoft.ApplicationBlocks.Data; namespace ConsoleAppInsertTest { class Program { static int count = 1000000; //插入的条数 static void Main(string[] args) { long sqlBulkCopyInsertRunTime = SqlBulkCopyInsert(); Console.WriteLine(string.Format("使用SqlBulkCopy插入{1}条数据所用的时间是{0}毫秒", sqlBulkCopyInsertRunTime, count)); long commonInsertRunTime = CommonInsert(); Console.WriteLine(string.Format("普通方式插入{1}条数据所用的时间是{0}毫秒", commonInsertRunTime, count)); Console.ReadKey(); } /// <summary> /// 使用普通插入数据 /// </summary> /// <returns></returns> private static long CommonInsert() { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); for (int i = 0; i < count; i++) { SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnection, CommandType.Text, "insert into passport(PassportKey) values('" + Guid.NewGuid() + "')"); } stopwatch.Stop(); return stopwatch.ElapsedMilliseconds; } /// <summary> /// 使用SqlBulkCopy方式插入数据 /// </summary> /// <returns></returns> private static long SqlBulkCopyInsert() { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); DataTable dataTable = GetTableSchema(); for (int i = 0; i < count; i++) { DataRow dataRow = dataTable.NewRow(); dataRow[2] = Guid.NewGuid(); dataTable.Rows.Add(dataRow); } //Console.WriteLine(stopwatch.ElapsedMilliseconds);//初始化数据时间 SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(SqlHelper.SqlConnection); sqlBulkCopy.DestinationTableName = "Passport"; if (dataTable != null && dataTable.Rows.Count != 0) { sqlBulkCopy.WriteToServer(dataTable); } sqlBulkCopy.Close(); stopwatch.Stop(); return stopwatch.ElapsedMilliseconds; } private static DataTable GetTableSchema() { return SqlHelper.ExecuteDataset(SqlHelper.SqlConnection, CommandType.Text, "select * from Passport where 1=2").Tables[0]; } } }

关于asp.net中怎么使用SqlBulkCopy插入数据到 SQL Server问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注捷杰建站行业资讯频道了解更多相关知识。

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_331.html
asp.net SqlBulkCopy sql server

猜你喜欢