ADO操控数据库SqlBulkCopy批量数据插入
来源:互联网 发布:淘宝支付宝登录 编辑:程序博客网 时间:2024/04/28 14:53
在数据库导入过程中,如果小数据就没什么影响,如果过大数据,那么一条一条的插入,是不是很麻烦啊,而且浪费时间,
需要 引用命名空间using System.Data.SqlClient;using System.Data;
OpenFileDialog ofd = new OpenFileDialog();//选择文件,准备插入数据库
ofd.Filter = "文本文件|*.txt";
if (ofd.ShowDialog() == false)
{
return;
}
string[] lines = File.ReadLines(ofd.FileName, Encoding.Default).ToArray();//把导入的数据先弄成数组
string conStr = System.Configuration.ConfigurationManager.ConnectionStrings["SQL"].ConnectionString;//这是连接数据库的App文件,
//
<connectionStrings>//这是App中的文件信息
<add name="SQL" connectionString="server=.;database=ADO.NET;Integrated Security=true" />
</connectionStrings>
//
DataTable table = new DataTable();
table.Columns.Add("StartTelNum");//这三个列必须创建,否则就会报错!这都创建的是要插入的列的别名,
table.Columns.Add("City");
table.Columns.Add("TelType");
DateTime startTime = DateTime.Now;//获取运行当前时间
//for循环里面,就是对要插入的数据进行一下处理,我处理的是手机号码归属地,你们可以处理别的,在上面,创建列的时候,也是,自己需求来
for (int i = 1; i < lines.Count(); i++)//跳过第一行表头
{
string line = lines[i];
//注意,文件里是按照制表符分割的,不是字符串
string[] strs = line.Split('\t');//VS里“\t”的为制表符
string startTelNum = strs[0];//第一个是号码段
string city = strs[1];//第三个个是号码所属城市
city = city.Trim('"');//去掉两边的双引号
string telType = strs[2];//第二个是号码网络类型
telType = telType.Trim('"');//去掉两边的双引号
DataRow row = table.NewRow();//创建一个DataRow对象
row["StartTelNum"] = startTelNum;//这个“StartTelNum”会提示没有,所以要在前面创建一个列
row["City"] = city;
row["TelType"] = telType;
//到这一步,还没有加到table里面,下面加入
table.Rows.Add(row);//NewRow只是创建,没有插入
}
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conStr))//然后就可以插入了,虽然有些麻烦,但是,效率极高,总比一条一条的插入强吧。
{
bulkCopy.DestinationTableName = "T_TelNum";//表示的是要批量把数据插入到哪个表中
//建立数据应用字段和DataTable字段的应用关系
bulkCopy.ColumnMappings.Add("StartTelNum", "StartTelNum");
bulkCopy.ColumnMappings.Add("City", "TelArea");
bulkCopy.ColumnMappings.Add("TelType", "TelType");//添加DataTable中列明和数据库表中列名的映射
bulkCopy.WriteToServer(table);//批量把数据写到服务器中
}
TimeSpan ts = DateTime.Now - startTime;//获取插入数据完毕后用了多少事件
MessageBox.Show(ts.ToString());
- ADO操控数据库SqlBulkCopy批量数据插入
- SqlBulkCopy 数据库批量插入数据
- SqlBulkCopy批量数据插入
- SqlBulkCopy批量数据插入
- SqlBulkCopy批量插入数据
- SqlBulkCopy批量数据插入
- SqlBulkCopy批量插入数据
- SqlBulkCopy批量插入数据
- ADO.Net实现批量插入数据库(SqlBulkCopy处理)
- SQLBULKCOPY批量插入数据使用
- 批量插入数据 SqlBulkCopy类
- C#批量插入数据SqlBulkCopy
- 使用SqlBulkCopy将DataTable中的数据批量插入数据库中
- 使用SqlBulkCopy将DataTable中的数据批量插入数据库中
- 使用SqlBulkCopy将DataTable中的数据批量插入数据库中
- C# 批量插入表SQLSERVER SqlBulkCopy往数据库中批量插入数据
- DataTable 批量插入SqlServer数据库 使用:SqlBulkCopy
- 批量插入数据 C# SqlBulkCopy使用
- HTML5又一个点:Canvas KineticJS文本教程!
- 预定义 #define
- _com_error at memory location / 对象关闭时,不允许操作。
- sqlnet.ora文件详解
- 使用关键代码段实现线程同步
- ADO操控数据库SqlBulkCopy批量数据插入
- error opening trace file: No such file or directory (2)解决办法之一
- iOS面试经常用到的问题
- HDU1528 Card Game Cheater 二分匹配最大点覆盖问题
- Java 连接 Oracle 单例模式
- java Queue容器实现
- 求一个子串在整串中出现的次数。
- android计时器暂停问题
- Failure [INSTALL_FAILED_OLDER_SDK]