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;