2012-07-12 254 views
1
MySqlCommand status = 
    new MySqlCommand("select name_ru from request_status where id = '50'", conn); 
MySqlDataReader dr_status = status.ExecuteReader(); 
dr_status.Read(); 
MySqlCommand cmd = new MySqlCommand(query, conn); 
dt.Load(cmd.ExecuteReader()); 
MySqlDataReader dr = cmd.ExecuteReader(); 

錯誤:MySqlDataReader將必須被關閉

MySqlDataReader must be closed first

請幫助...

+1

你爲什麼要這麼多次調用ExecuteReader?在使用另一個閱讀器之前,您必須關閉一個開放閱讀器 – 2012-07-12 09:56:47

+2

爲什麼要執行兩次讀取器? – 2012-07-12 09:56:48

回答

0

你需要在同一時間只使用一個讀者。你正在使用三個。將所有閱讀器封裝在一個使用塊中,以確保它們在所有情況下都處理完畢。

ExecuteReader是什麼執行你的SQL。在你的示例代碼中,你執行三次相同的SQL,這可能不是你想要的。

+0

試試catch塊? – kekus 2012-07-12 11:40:45

相關問題