1

我有一个查询 Access 数据库并显示数据的应用程序。我希望连接(con)在 2 分钟后超时。有人对我如何编码有任何建议吗?

这就是我一开始所拥有的

OleDbConnection con;
OleDbDataReader dr;
OleDbCommand cmd;

con.Open();
cmd = new OleDbCommand(str, con);
dr = cmd.ExecuteReader();

谢谢

4

3 回答 3

1

@Damith 很接近,但不幸的是该ConnectionTimeout属性是只读的。您必须在连接字符串中设置超时,而不是使用... ;Connect Timeout=30;. 这是文档

于 2015-04-15T09:28:18.193 回答
1

不要共享连接,在需要时创建连接并用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())
   {

   }
}
于 2013-09-17T07:37:00.583 回答
0

您是否尝试过超时参数,

OleDbCommand.CommandTimeout属性 - 当您在执行查询期间需要超时时

OleDbConnection.ConnectionTimeout属性 - 当您在建立连接时需要暂停时

于 2013-09-17T07:37:42.757 回答