当前位置: 首页 > 编程语言 > C#

从C#DataTable批量插入的最佳方式Share

时间:2023-04-11 03:30:23 C#

从C#DataTable批量插入的最佳方式我希望能够说myDataTable.update();但是在阅读了MSDN文档之后,显然这确实是逐行插入的。应该注意的是,这些语句不是作为批处理执行的;每行都单独更新。我有哪些选择?编辑:我正在使用SQLServer2005如果使用SQLServer,SqlBulkCopy.WriteToServer(DataTable)或者您也可以使用SQLServer,将其写入.csv并使用BULKINSERT如果使用MySQL,您可以将其写入.csv并使用LOADDATAINFILE如果使用Oracle,可以使用ODP.NET的数组绑定功能如果使用SQLite:stringconnectionString=ServerName+DatabaseName+SecurityType;使用(SqlConnectionconnection=newSqlConnection(connectionString))使用(SqlBulkCopybulkCopy=newSqlBulkCopy(connection)){connection.Open();bulkCopy.DestinationTableName="表名";尝试{bulkCopy.WriteToServer(dataTableName);}catch(Exceptione){Console.Write(e.Message);注意数据库表的结构和表名要一致,否则会抛出异常。这在很大程度上取决于您使用的RDBMS,以及该RDBMS是否存在.NET选项。如果您使用的是SQLServer,请使用SqlBulkCopy类。对于其他数据库供应商,请专门尝试使用谷歌搜索。例如,搜索“.NETBulkinsertintoOracle”会出现一些有趣的结果,包括返回StackOverflow的链接:使用.NET批量插入Oracle。下面是我如何使用数据表。这是测试代码的工作。使用(SqlConnectioncon=newSqlConnection(connStr)){con.打开();//创建一个包含一些行的表。DataTable表=MakeTable();//获取对表中单行的引用。DataRow[]rowArray=table.Select();使用(SqlBulkCopybulkCopy=newSqlBulkCopy(con)){bulkCopy.DestinationTableName="dbo.CarlosBulkTestTable";try{//将行数组写入目标。bulkCopy.WriteToServer(rowArray);}catch(Exceptionex){Console.WriteLine(ex.Message);}}}//使用SqlBulkCopy类最适合SQLserver,C#批量上传/插入DataTable到SQLserver的表以上是C#学习教程:C#DataTable批量插入最佳方法分享的全部内容,如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: