【发布时间】:2015-06-15 02:09:11
【问题描述】:
我在存储过程中使用了用户定义的表类型作为参数。 但是对于只有几列的表类型。
为此,我必须按如下方式生成DataTable::
System.Data.DataTable processedTable = new System.Data.DataTable();
processedTable.Columns.Add("DosID", typeof(long));
processedTable.Columns.Add("PayLC", typeof(decimal));
processedTable.Columns.Add("PayIC", typeof(decimal));
在上面的代码中,可以形成一个只有 3 列的DataTable。
但我有一个存储过程,它需要一个包含 30 列的表。
有没有更好的方法在我的 C# 代码中创建 DataTable?
【问题讨论】:
-
像 3-column-table 那样设置表格不好吗?
-
我有一个 30 列的表值类型参数 SP。这就是为什么
-
您需要编写此代码来命名应与表类型匹配的列。我能看到的唯一方法是使用反射来遍历属性并将列添加到数据表中,每个列的名称与属性的名称相同。但是,在这种方法中,您需要确保您的属性名称和数据类型列名称相同。
-
@Rahul :我认为定义 30-column-table-type 是一个很小的努力,因为你只做一次 :)
-
@HeinzSiahaan ;谢谢:D,这是我拥有的选项之一。但我只是在想如何优化这行代码。
标签: c# sql sql-server stored-procedures