NPOI批量導入大量數據


簡介:NPOI批量導入大量數據

使用SqlBulkCopy 可以將datatable里面的大量數據批量復制到數據庫中,而不用擔心性能問題,比系統中的傳統做法(每20行數據執行一遍mydb.execute強多了)

SqlBulkCopyColumnMapping(源列名,目標列名)

附代碼如下:

Try

             Using sqlblk As New SqlBulkCopy(MyDB.GetSqlConnectionString())

                 sqlblk.BatchSize = DtInput.Rows.Count

                 sqlblk.BulkCopyTimeout = 100

                 sqlblk.DestinationTableName = "cg_ProductBillDtl"

                 sqlblk.ColumnMappings.Add(New SqlBulkCopyColumnMapping("ProductBillGUID", "ProductBillGUID"))

                 sqlblk.ColumnMappings.Add(New SqlBulkCopyColumnMapping("ProductBillDtlGUID", "ProductBillDtlGUID"))

                 sqlblk.ColumnMappings.Add(New SqlBulkCopyColumnMapping("ProductGUID", "ProductGUID"))

                 sqlblk.ColumnMappings.Add(New SqlBulkCopyColumnMapping("ProductTypeCode", "ProductTypeCode"))

                 sqlblk.ColumnMappings.Add(New SqlBulkCopyColumnMapping("ProductName", "ProductName"))

                 sqlblk.ColumnMappings.Add(New SqlBulkCopyColumnMapping("ProductSpec", "ProductSpec"))

                 sqlblk.ColumnMappings.Add(New SqlBulkCopyColumnMapping("ProductModel", "ProductModel"))

                 sqlblk.ColumnMappings.Add(New SqlBulkCopyColumnMapping("ProductUnit", "ProductUnit"))

                 sqlblk.ColumnMappings.Add(New SqlBulkCopyColumnMapping("Price", "Price"))

                 sqlblk.ColumnMappings.Add(New SqlBulkCopyColumnMapping("Remark", "Remark"))

                 sqlblk.WriteToServer(DtInput)

             End Using

         Catch ex As Exception

             MyDB.LogException(ex)

         End Try

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM