将DataTable加载到SP中

时间:2009-07-08 16:51:18

标签: c# stored-procedures datatable visual-studio-2008-sp1

我有SQL Server 2008和VS 2008 Pro。我正在用C#编码。我接受来自客户的文本输入文件,并将此数据解析为我的C#aspx.cs文件中的DataTable。我知道这是正常的。所以我填充了DataTable。但是现在如何将这些数据加载到SP中?我可以使用动态表参数吗?或者我应该使用XML吗?

问题是所需列的数量可能会根据要插入的表而有所不同。细节是我让用户选择他们想要附加数据的表。为简单起见,我们说: TABLE_NAME NUM_COLS A2 B 3 C 4

并且我们假设每个中的第一列是INT主键。 因此,如果他们选择表B,那么DataTable看起来像: PK C1 C2 C3 1'd'''''3 / 10/99' 2'g''h''4/10/99'

所以现在我想将这些数据附加到我的AdventureWorks DB中的表B中。在SP定义和调用此SP的C#代码中实现此操作的最简单方法是什么? 谢谢!

1 个答案:

答案 0 :(得分:1)

我想我明白你在问什么。我将假设您的数据导入的每一行将直接/干净地映射到数据库中的表。我还假设您的应用程序逻辑可以确定每行数据的持久性。

这就是说,我建议单独使用.NET DataTable的每一行,而不是将数据批量传递给SQL作为单个存储过程参数,然后根据SQL进行任何数据解析和表映射。

基本上,循环遍历DataTable,确定数据类型并为每一行执行适当的插入。我希望这有帮助。