黑马程序员ADO.net(如何批量的插入数据)

 

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

 

 

SqlBulkCopy(); 批量数据的插入;它允许你快速将大型文件批量复制到SQL Server表中
首先可以看到的是他实现了IDisposable接口!所以他需要释放using
首先就是要  new 一个SqlBulkCopy();  如 using(SqlBulkCopy Copy=new SqlBulkCopy(SQL))
当然SqlBulkCopy()里面是要传参数的,所以要给他一个连接数据库的字符串 当然前面肯定要先写好!
什么打开文件什么的就不写了 直接写SqlBulkCopy()的用法 
       DataTable  Table=new DataTable ();//这个是必须要的 传进去的是个表
            Table.Columns.Add("Number");//创建列并取名为Number
            Table.Columns.Add("Name");//创建列并取名为Name
            DateTime Time = DateTime.Now;//计算时间
            foreach (string row in FileName)  //循环打开的文件内容写入到 row里面
            {
                string[] SP = row.Split('\t');//分割符号来分割里面带空格的 在写入到string 数组中
                string NUmber = (string)SP[0];    // Number 来获取到第一个数组值
                string Name = SP[1];              //Name来获取到第二个数组值
                DataRow Row=Table.NewRow();//创建一个Datarow对象
                Row["Number"] = NUmber;//一定要在表中创建Table.Columns 否则会报错
                Row["Name"] = Name;
                Table.Rows.Add(Row);        

            }
     
           using( SqlBulkCopy Copy = new SqlBulkCopy(连接数据库的字符串));//进行资源释放
            {
                Copy.DestinationTableName = "T_Numbers";//考入T_Numbers这个表里面
                Copy.ColumnMappings.Add("Name", "Name");//数据库里对应的字段
                Copy.ColumnMappings.Add("Number", "Number");
                Copy.WriteToServer(Table);//写入表中
            }
            TimeSpan Span = DateTime.Now - Time;//时间的算法
            MessageBox.Show("共花了" + Span.ToString() + "久"); 

 

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

你可能感兴趣的:(.net)