MySql Connection.State Change如何工作?
我有以下代码。
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;
}
为什么从不使用ConnectionState.Fetching调用Connection StateChanged,也不调用ConnectionState.Executing?
答案 0 :(得分:1)
好吧,我可能会误解msdn,但这些状态似乎没有实现(枚举值只是“保留”,即使在.net 4.5中):
执行连接对象正在执行命令。 (这个值是 保留给产品的未来版本。)
和
提取连接对象正在检索数据。 (这个值是 保留给产品的未来版本。)