Sql server 列表(T)与数据表,以填充数据库

Sql server 列表(T)与数据表,以填充数据库,sql-server,vb.net,winforms,list,datatable,Sql Server,Vb.net,Winforms,List,Datatable,我有一个windows窗体应用程序来自动化某些任务,其中一个部分是用大量信息填充SQL Server表(有时少于10行,但我看到的情况是超过1000行!) 今天我有一个执行这项任务的列表(T)。“T”是一个具有8个字符串参数的类 在“Save”函数中,我解析列表以构造一个SQL查询,将信息插入一个表中 但是插入数据库的过程有时需要几秒钟才能完成,即使只需要插入几行,尤其是在SQL server过载的情况下。最好使用一个具有8个字符串列的DataTable来存储数据并用于填充数据库?我也感谢其他建

我有一个windows窗体应用程序来自动化某些任务,其中一个部分是用大量信息填充SQL Server表(有时少于10行,但我看到的情况是超过1000行!)

今天我有一个执行这项任务的列表(T)。“T”是一个具有8个字符串参数的类

在“Save”函数中,我解析列表以构造一个SQL查询,将信息插入一个表中

但是插入数据库的过程有时需要几秒钟才能完成,即使只需要插入几行,尤其是在SQL server过载的情况下。最好使用一个具有8个字符串列的DataTable来存储数据并用于填充数据库?我也感谢其他建议


致以最诚挚的问候

在VB端,所使用的结构不会产生任何影响。 如果您想要一个更快的方法,可以查看SQLBulkCopyClass来帮助您


插入1000条以上的记录可能会持续几秒钟。太长了吗?您可以使用
DataTable
并将dataadapter设置为1000。这应该更有效率。但是
SQLBulkCopy
是最有效的方法。这个SQLBulkCopy类非常有趣。解决这个问题,因为直接接受一个DataTable,并且似乎适用于我正在工作的另一个项目,其中有几个“excel到SQL”导入类。唯一的问题是某些外部客户端数据库,只能通过WebService或VPN访问,并且需要通过普通SQL插入。