我知道SQL Server 2000有bulk insert.它是否支持来自C#集合的批量插入,例如数据集?
我需要一次插入30行。如果我不需要,我不想为此创建30个DB连接。
答案 0 :(得分:2)
查看SqlBulkCopy(根据论坛SQL 2000支持)。它易于使用。基本上只是为它提供一个数据表(或数据读取器),它会将行中的行复制到目标表。
答案 1 :(得分:0)
你可以在SQL 2000中使用DataSet插入,我从未尝试过,因为我从不使用DataSet。
http://www.dotnet247.com/247reference/msgs/3/16570.aspx上有一篇好文章:
(来自文章)
涉及的步骤 1.使用正确的select语句创建SqlDataAdapter
2.使用SqlDataAdapter
创建数据集和填充数据集3.在数据集中向表中添加行(对于您上面提到的所有操作,如无线电 选中按钮,启用复选框)
4.使用SqlCommandBuilder辅助对象生成 UpdateStatements。它非常易于使用的命令构建器。只是一个 调用SqlCommandBuilder构造函数。
5.完成后,在数据集调用中向数据表中添加行 SqlDataAdapter.update并将修改后的数据集作为参数传递。 这应该会自动将数据集中的行添加到 数据库。(如果没有发生数据库错误)
您是否考虑过XML?
在SQL 2000中使用XML并不像2008年那样好,但它仍然可行:
http://www.codeproject.com/KB/database/insxmldatasqlsvr.aspx
http://www.codeproject.com/KB/database/generic_OpenXml.aspx
http://support.microsoft.com/default.aspx?scid=kb;en-us;315968
您可以看到的另一个选择是:
打开连接。
迭代插入关闭连接。