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();
答案 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)