gpt4 book ai didi

c# - 从存储过程结果集中填充 ArrayList

转载 作者:行者123 更新时间:2023-11-30 20:08:17 25 4
gpt4 key购买 nike

我有一个返回一组整数的存储过程。我需要帮助在 C# (VS 2005) Web 应用程序中填充这些结果的 ArrayList。

我意识到这可能是一个非常简单的过程,但显然我没有相关技能,也没有词汇来研究它。

我的假设是此数据表已正确填充:

public static DataTable GetAllVendors()
{
OleDbCommand cmd = Data.GetCommand(Configuration.DatabaseOwnerPrefix + ".GetAllInformationAndHelpVendorIds", Connections.MyDbConnection);
return Data.RunCommand(cmd).Tables[0];
}

我不知道如何将结果返回到 ArrayList 或其他可以使用 Contains() 方法计算的数据类型。

编辑:ArrayList 是一项较旧的技术,我会接受不使用它的建议。谢谢。

最佳答案

您应该做的是在该 cmd 对象上调用 ExecuteReader(),如下所示:

public static IEnumerable<int> GetAllVendors()
{
using (var cmd = Data.GetCommand(Configuration.DatabaseOwnerPrefix + ".GetAllInformationAndHelpVendorIds", Connections.MyDbConnection))
{
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
yield return reader.GetInt32(0);
}
}
}
}

这假设 SQL 将返回一个表,其第一列(由 GetInt32() 方法的索引 0 标识)将是您要查找的 ID为了。如果 SQL 在另一列中返回 ID,只需将索引调整为您希望在其中找到它们的列。

此解决方案还要求命令的连接已经打开。如果不是,您可以在 cmd.ExecuteReader() 之前执行 cmd.Connection.Open()

关于c# - 从存储过程结果集中填充 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7237282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com