Geo*_*ge2 6 .net c# ado.net sqldatareader visual-studio-2008
我正在使用ADO.Net + C#+ VSTS 2008 + ADO.Net连接到SQL Server 2008 Enterprise.我使用的是几乎相同的模式/示例 - 使用ADO.Net DataReader通过一个条目(行)检索一个条目(行)的数据.
http://msdn.microsoft.com/en-us/library/haa3afyz.aspx
我的问题是,如果我在此示例中设置SqlCommand超时,1.我认为超时适用于我们可以用多长时间来检索一个特定行,而不是整个数据逐条目的总超时环?
BTW:循环我的意思是,
while (reader.Read())
{
Console.WriteLine("{0}\t{1}", reader.GetInt32(0),
reader.GetString(1));
}
Run Code Online (Sandbox Code Playgroud)
2.此超时仅考虑从数据库检索数据条目所需的时间,并且此超时与我们处理每个条目的时间无关(例如,如果我们将超时设置为20秒,如果它需要1第二个从数据库中检索一个数据条目,我的应用程序逻辑需要30秒来操作数据条目,超时将永远不会发生).
正确理解?
mar*_*c_s 10
您可以设置的命令超时适用于您为ADO.NET执行其工作的时间.
如果你调用cmdQuery.ExecuteNonQuery()
哪个只返回执行SQL语句,则执行该语句所需的时间.
如果您调用cmdQuery.ExecuteReader()
哪个返回数据读取器,那么ADO.NET需要时间来构建/构建该数据读取器,以便您可以使用它.
如果您调用cmdQuery.ExecuteScalar()
哪个返回单个标量值,则执行查询并获取该单个结果所需的时间.
如果使用dataAdapter.Fill()
填充数据表或数据集,则需要ADO.NET检索数据然后填充数据表或数据集所需的时间.
整体而言:超时适用于ADO.NET可以执行的作业部分 - 执行语句,填充数据集,返回标量值.
当然它确实不适用于所花费的时间你在结果迭代(在数据读取器的情况下).这根本没有意义......
渣
归档时间: |
|
查看次数: |
6516 次 |
最近记录: |