使用未分配的局部变量'fn'

时间:2011-02-23 06:51:50

标签: asp.net

Line 51: cmd.Parameters.Add("@bprc", SqlDbType.Int).Value = Convert.ToInt32(TextBox4.Text);
Line 52: cmd.Parameters.Add("@bcat", SqlDbType.VarChar, 50).Value = DropDownList1.SelectedValue;
Line 53: cmd.Parameters.Add("@bimg", SqlDbType.VarChar, 50).Value = fn;
Line 54: cmd.Parameters.Add("@bdsc", SqlDbType.VarChar, 500).Value = TextBox6.Text;
Line 55: cmd.ExecuteNonQuery();

2 个答案:

答案 0 :(得分:2)

看来,您已声明变量fn但未初始化它。调试,无论你是否真的将任何值设置为fn,这都会有所帮助。

答案 1 :(得分:1)

如果您声明一个变量,但是不将其分配给任何变量,则会发生这种情况。例如,如果您有以下内容:

int myInt;
return Math.Min(0, myInt);

然后编译器会在您尝试使用myInt时报告错误第二行,但您没有给它一个值。

请注意,即使只有1 潜在路径导致myInt未设置,您也会收到此错误,例如:

bool myBool = true;
int myInt;
if (myBool)
{
    myInt = 1;
}
return Math.Min(0, myInt);

解决方案是在第53行之前的某个时刻将fn初始化为某个合理的值,或者确保为所有可能的代码路径将其设置为某个值:

string fn = null; // (assuming `fn` is a string)