我正在创建SqlParameter
数组并将其传递给StoredProcedure
。输出值将在StoredProcedures中设置。如何通过参数名称访问该值?
SqlParameter[] parameters = { new SqlParameter {ParameterName = "@test", Value = "test", Direction = ParameterDirection.Output }};
这有效
parameters[0].Value
如何使其发挥作用?
parameters["@test"].Value
答案 0 :(得分:4)
这只是一个SqlParameters数组,因此它将保持序数,因为任何数组都可以工作。你可以在这里使用LINQ(很快就会有例子)
parameters.First(parameter => parameter.ParameterName == "@test")
答案 1 :(得分:1)
您可以使用Enumerable.First()
方法
返回序列的第一个元素。
SqlParameter[] parameters = { new SqlParameter { ParameterName = "@test", Value = "test", Direction = ParameterDirection.Output } };
Console.WriteLine(parameters.First(parameter => parameter.ParameterName == "@test"));
输出将是;
@test
答案 2 :(得分: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);