为什么要编译错误“使用未分配的局部变量”?

时间:2019-06-25 17:09:53

标签: c# oledbcommand

我一直收到此错误,但是我不知道为什么,我在这里得到它: Label1.Text = fgmail.ToString(); 这是完整的代码:

string st = this.pfun.Text;
string sqlstr2 = "select * from hsinfo WHERE rname='" + st + "'";
OleDbCommand cmd = new OleDbCommand(sqlstr2, DBFunction.GenerateConnection("DBS.accdb"));
OleDbDataReader reader = cmd.ExecuteReader();
string fgmail;

while (reader.Read())
{
    fgmail = reader[1].ToString();
}

Label1.Text = fgmail.ToString();

2 个答案:

答案 0 :(得分:7)

如果reader没有行,则永远不会分配该变量。

答案 1 :(得分:1)

您正在读取的表可能没有任何记录,如果表中没有值,则循环不会为变量分配任何内容。