C# while(read())循环内存储的值无法检索while循环外的值

C# while(read())循环内存储的值无法检索while循环外的值,c#,while-loop,ado.net,C#,While Loop,Ado.net,如何在一个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 编译器必须验证是否在所有可能执行的

如何在一个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

编译器必须验证是否在所有可能执行的路径中分配了局部变量。在您的情况下,如果读取器返回空结果,则可能不会执行while块。因此编译器无法真正验证
TAT
是否保证被分配

因此,您可以在while循环之前执行此操作

string TAT = null;

编译器必须验证是否在所有可能执行的路径中分配了局部变量。在您的情况下,如果读取器返回空结果,则可能不会执行while块。因此编译器无法真正验证
TAT
是否保证被分配

因此,您可以在while循环之前执行此操作

string TAT = null;

我强烈建议您停止编写原始ADO.NET代码。有了无数优秀的工具,没有理由再这样做了。考虑一些类似DaPter的东西。我强烈建议你停止写原始ADO.NET代码。有了无数优秀的工具,没有理由再这样做了。考虑一些像小道消息。