while(read()) 循环内存储的值无法检索 while 循环外的值
The Value stored inside while(read()) loop is unable to retrieve the value outside while loop
while 循环后如何检索数据?
con220.Open();
SqlDataReader rdr2 = cmd220.ExecuteReader();
while (rdr2.Read())
{
TAT = rdr["TAT"].ToString();
}
con220.Close();
MessageBox.Show(TAT);//ERROR: use of unassigned local variable TAT
string TAT = string.Empty;
while (rdr2.Read())
{
TAT = rdr["TAT"].ToString();
}
con220.Close();
MessageBox.Show(TAT);
编译器必须验证是否在所有可能执行的路径中分配了局部变量。在您的情况下,如果 reader 返回空结果,则可能不会执行 while 块。因此编译器无法真正验证 TAT
是否已分配。
因此您可以在 while 循环之前执行此操作。
string TAT = null;
while 循环后如何检索数据?
con220.Open();
SqlDataReader rdr2 = cmd220.ExecuteReader();
while (rdr2.Read())
{
TAT = rdr["TAT"].ToString();
}
con220.Close();
MessageBox.Show(TAT);//ERROR: use of unassigned local variable TAT
string TAT = string.Empty;
while (rdr2.Read())
{
TAT = rdr["TAT"].ToString();
}
con220.Close();
MessageBox.Show(TAT);
编译器必须验证是否在所有可能执行的路径中分配了局部变量。在您的情况下,如果 reader 返回空结果,则可能不会执行 while 块。因此编译器无法真正验证 TAT
是否已分配。
因此您可以在 while 循环之前执行此操作。
string TAT = null;