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