0
MySqlConnection.StateChange如何工作?MySqlConnection.StateChange永遠不會獲取
我有以下代碼。
conn.StateChange += ConnectionStateChanged;
private void ConnectionStateChanged(Object sender, StateChangeEventArgs e) {
switch (e.CurrentState) {
// is never equal to Fetching
}
}
public DataTable Query(string query) {
DataTable dt = new DataTable();
using (MySqlDataAdapter a = new MySqlDataAdapter(query, conn)) {
try {
a.SelectCommand.CommandTimeout = 5;
a.Fill(dt);
} catch {
return null;
}
}
return dt;
}
爲什麼ConnectionStateChanged永遠不會用ConnectionState.Fetching和ConnectionState.Executing調用?
哦。那麼是否有其他官方方式來獲得連接狀態? – 2013-03-11 13:13:21
@PeterGoldwynn據我所知(但在這一點上知之甚少),你可以打開,關閉(並在4.5中連接)... – 2013-03-11 13:19:27
好吧,因爲打開,關閉和連接都支持我會執行它以一種標準的方式。不幸的是,我還需要知道查詢執行期間的連接狀態。 無論如何,我想出了一個想法,手動啓動傳遞適當參數的StateChange事件。 – 2013-03-11 13:35:56