2016-07-28 88 views
0

如何在while循環之後檢索數據?while(read())循環中存儲的值無法在循環時檢索外部值

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 
+2

我強烈建議您停止編寫原始的ADO.NET代碼。現在沒有理由再用這些優秀的工具了。考慮一下像Dapper。 –

回答

1
string TAT = string.Empty; 
while (rdr2.Read()) 
{ 
    TAT = rdr["TAT"].ToString(); 
} 

con220.Close(); 
MessageBox.Show(TAT); 
1

編譯器必須驗證本地變量是在所有可能執行路徑分配。在你的情況下,如果閱讀器返回空結果,while塊可能不會被執行。所以編譯器無法真正驗證TAT是保證被分配的。

所以你可以在while循環之前做到這一點。

string TAT = null;