一次性把DataTable中的数据插入数据库
发布日期:2021-11-15 03:27:17 浏览次数:2 分类:技术文章

本文共 1592 字,大约阅读时间需要 5 分钟。

  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中的数据插入<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库" target='_blank' style='color:#df3434; font-weight:bold;'>数据库</a>  
  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.     }  

转载地址:https://blog.csdn.net/qq_30469045/article/details/52895289 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LINQ查询操作符之Distinct、Union、Concat、Intersect、Except、Skip、Take、SkipWhile、TakeWhi
下一篇:为什么要用存储过程

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月22日 21时46分06秒