C# 声明和使用SqlParameter[]时出现问题。错误:使用未分配的局部变量';sqlparam';
我必须声明一个SqlParameter[]。 它的大小是动态的,取决于下拉列表的选择。 我已经实现了一个如下的方法C# 声明和使用SqlParameter[]时出现问题。错误:使用未分配的局部变量';sqlparam';,c#,asp.net,ado.net,C#,Asp.net,Ado.net,我必须声明一个SqlParameter[]。 它的大小是动态的,取决于下拉列表的选择。 我已经实现了一个如下的方法 protected void BindGrid() { SqlParameter[] sqlparam; string SP = string.Empty; if (ddlKPIType.SelectedIndex == 0)//For Overall { sqlparam = PrepareSqlParams(); }
protected void BindGrid()
{
SqlParameter[] sqlparam;
string SP = string.Empty;
if (ddlKPIType.SelectedIndex == 0)//For Overall
{
sqlparam = PrepareSqlParams();
}
else if (ddlKPIType.SelectedIndex == 1)//For Parameterwise
{
sqlparam = PrepareSqlParamsForParameterWise();
}
else if (ddlKPIType.SelectedIndex == 2)//For Measurement Criteria wise
{
sqlparam = PrepareSqlParamsForMeasurmentCriteriaWise();
}
DataSet dsReport = GetReportDataSet(sqlparam, SP);
if (isDataSetValid(dsReport))
gridMonthlyReport.DataSource = dsReport.Tables[0];
gridMonthlyReport.DataBind();
}
但是在这段代码中,当我将sqlparam作为参数传递给GetReportDataSet()时,它显示了错误“使用未分配的局部变量'sqlparam'
方法:PrepareSqlParams()
,
PrepareSqlParamsForParameterWise()和
preparesqlparamsformeasurentcriteriawise()
将返回SqlParameter[]
我在哪里犯了错误?
任何人请帮助我。
提前感谢。
sqlparam
不保证被分配,因为没有else
子句。如果ddlKPIType.SelectedIndex
为3或更大,sqlparam
将不会被分配,因为If else If
子句的任何分支都不会被执行。您可以通过以下几种方式克服此问题:
ArgumentOutOfRangeException的else
子句
sqlparam
sqlparam
不保证被分配,因为没有else
子句。如果ddlKPIType.SelectedIndex
为3或更大,则不会分配sqlparam
,因为将不会执行If else If
子句的任何分支。您可以通过以下几种方式克服此问题:
ArgumentOutOfRangeException的else
子句
sqlparam
sqlparam nun的所有单元格都为空吗?sqlparam nun的所有单元格都为空吗?