如何访问带有名称的SqlParameter数组

本文关键字:有名称 SqlParameter 数组 何访问 访问 | 更新日期: 2023-09-27 18:01:31

我正在创建SqlParameter数组并将其传递给StoredProcedure。输出值将在StoredProcedures中设置。如何通过参数名称访问该值?

 SqlParameter[] parameters = { new SqlParameter {ParameterName = "@test", Value = "test", Direction = ParameterDirection.Output }}; 
这是

parameters[0].Value

如何使其工作?

parameters["@test"].Value

如何访问带有名称的SqlParameter数组

这只是一个SqlParameters数组,所以它将像任何数组一样保持有序。你可以在这里使用LINQ(简单的例子)

parameters.First(parameter => parameter.ParameterName == "@test")

可以使用Enumerable.First()方法

返回序列的第一个元素。

SqlParameter[] parameters = { new SqlParameter { ParameterName = "@test", Value = "test", Direction = ParameterDirection.Output } };
Console.WriteLine(parameters.First(parameter => parameter.ParameterName == "@test"));

输出将是;

@test

你可以试试:

enum ParamNames { ReportName, Description, MaxReportsAllowed, IncludeSignatures};
SqlParameter[] param = new SqlParameter[32];
param[ReportName] = new SqlParameter("@ReportName", ReportName1.Text);
param[Description] = new SqlParameter("@Description", Description.Text);