0

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

问题是所需列的数量可能会根据他们要插入的表而有所不同。详细信息是我让用户选择他们想要将数据附加到哪个表。为简单起见,假设: TABLE_NAME NUM_COLS A 2 B 3 C 4

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

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

4

1 回答 1

1

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

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

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

于 2009-07-08T21:46:35.377 回答