4

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

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

这有效

parameters[0].Value

如何使它工作?

parameters["@test"].Value
4

3 回答 3

5

这只是一个 SqlParameters 数组,因此它将保持有序,因为任何数组都可以工作。您可能可以在这里使用 LINQ(示例很快)

parameters.First(parameter => parameter.ParameterName == "@test")
于 2013-02-28T16:34:08.983 回答
1

你可以使用Enumerable.First()方法

返回序列的第一个元素。

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

输出将是;

@test
于 2013-02-28T16:38:08.430 回答
0

你可以试试这个:

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);
于 2019-03-18T16:25:20.670 回答