我有一个查询 Access 数据库并显示数据的应用程序。我希望连接(con)在 2 分钟后超时。有人对我如何编码有任何建议吗?
这就是我一开始所拥有的
OleDbConnection con;
OleDbDataReader dr;
OleDbCommand cmd;
con.Open();
cmd = new OleDbCommand(str, con);
dr = cmd.ExecuteReader();
谢谢
我有一个查询 Access 数据库并显示数据的应用程序。我希望连接(con)在 2 分钟后超时。有人对我如何编码有任何建议吗?
这就是我一开始所拥有的
OleDbConnection con;
OleDbDataReader dr;
OleDbCommand cmd;
con.Open();
cmd = new OleDbCommand(str, con);
dr = cmd.ExecuteReader();
谢谢
@Damith 很接近,但不幸的是该ConnectionTimeout
属性是只读的。您必须在连接字符串中设置超时,而不是使用... ;Connect Timeout=30;
. 这是文档。
不要共享连接,在需要时创建连接并用using block
,
如果需要设置超时时间,可以使用ConnectionTimeout
连接字符串中的属性进行设置(例如".....;Connect Timeout=30"
using (OleDbConnection con = new OleDbConnection(connectionString))
using (OleDbCommand cmd = new OleDbCommand(str, con))
{
con.Open();
using (OleDbDataReader dr = cmd.ExecuteReader())
{
}
}
您是否尝试过超时参数,
OleDbCommand.CommandTimeout
属性 - 当您在执行查询期间需要超时时
OleDbConnection.ConnectionTimeout
属性 - 当您在建立连接时需要暂停时