一次性把DataTable中的数据插入数据库 .

  1. /// <summary>   
  2. /// 初始化一个DataTable类型的数据源   
  3. /// <para/>Author : AnDequan   
  4. /// <para/>Date   : 2011-3-14   
  5. /// </summary>   
  6. /// <returns>Source</returns>   
  7. private DataTable InitSource()  
  8. {  
  9.     DataTable dtUserAdd = new DataTable();  
  10.     dtUserAdd.Columns.Add(new DataColumn("ID"typeof(int)));  
  11.     dtUserAdd.Columns.Add(new DataColumn("UserName"typeof(string)));  
  12.     dtUserAdd.Columns.Add(new DataColumn("UserPwd"typeof(string)));  
  13.     DataRow drTemp = null;  
  14.     for (int i = 0; i < 100; i++)  
  15.     {  
  16.         drTemp = dtUserAdd.NewRow();  
  17.         drTemp["ID"] = 0;  
  18.         drTemp["UserName"] = "测试" + (i + 1);  
  19.         drTemp["UserPwd"] = "密码" + (i + 1);  
  20.         dtUserAdd.Rows.Add(drTemp);  
  21.     }  
  22.     return dtUserAdd;  
  23. }  
  24.   
  25. /// <summary>   
  26. /// 一次性把DataTable中的数据插入数据库   
  27. /// <para/>Author : AnDequan   
  28. /// <para/>Date   : 2011-3-14   
  29. /// </summary>   
  30. /// <param name="source">DataTable数据源</param>   
  31. /// <returns>true - 成功,false - 失败</returns>   
  32. public bool AddDataTableToDB(DataTable source)  
  33. {  
  34.     SqlTransaction tran = null;//声明一个事务对象   
  35.     try  
  36.     {  
  37.         using (SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=sa;database=Test;"))  
  38.         {  
  39.             conn.Open();//打开链接   
  40.             using (tran = conn.BeginTransaction())  
  41.             {  
  42.                 using (SqlBulkCopy copy = new SqlBulkCopy(conn, SqlBulkCopyOptions.Default, tran))  
  43.                 {  
  44.                     copy.DestinationTableName = "AnDequan.dbo.[User]";  //指定服务器上目标表的名称   
  45.                     copy.WriteToServer(InitSource());                      //执行把DataTable中的数据写入DB   
  46.                     tran.Commit();                                      //提交事务   
  47.                     return true;                                        //返回True 执行成功!   
  48.                 }  
  49.             }  
  50.         }  
  51.     }  
  52.     catch (Exception ex)  
  53.     {  
  54.         if (null != tran)  
  55.             tran.Rollback();  
  56.         //LogHelper.Add(ex);   
  57.         return false;//返回False 执行失败!   
  58.     }  
  59. }  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值