我正在使用this vb.net 代码文件来调用过程来获取日期(除其他外)。当我在 SQL 2005 Server Management Studio 中执行此过程时,我得到大约 10 列。然而,当我执行这段代码时,数据集似乎只有一个索引值,也许我误解了什么。当我改变这个时
ds.Tables(0).Rows.Count.ToString
到
ds.Tables(1).Rows.Count.ToString <---changing the index value to 1
(or higher)
我没有得到任何信息。所以我的问题是;
DataSet 是否包含其他列,只是没有像数组一样索引?我想要做的是选择要过滤掉哪些列,并将其余列转换为 JSON 格式的字符串。任何有关如何实现这一目标的建议也将不胜感激
最佳答案
您正在谈论数据“列”,但您的代码片段正在处理数据表(结果集)。
即 如果你的存储过程做了这样的事情:
SELECT Column1, Column2, Column3
FROM YourTable
WHERE ID = 123
那么您的数据集中将有 1 个 DataTable,因为返回 1 个结果集:ds.Tables(0)
。这将包含 3 列:ds.Tables(0).Columns(n)
,其中 n 为 0 到 2。
关于sql - 使用 .NET 从 SQL 过程返回多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2307338/