我正在使用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. 我认为超时应用于我们可以用作检索一行的最大值的时间,而不是整个数据逐个输入循环的总超时时间?
顺便说一下:我指的是循环。
while (reader.Read())
{
Console.WriteLine("{0}\t{1}", reader.GetInt32(0),
reader.GetString(1));
}
2. 这个超时时间只与从数据库检索数据条目所需的时间有关,这个超时时间与我们处理每个条目所需的时间无关(例如,如果我们将超时时间设置为20秒,并且检索一个数据条目需要1秒钟,而我的应用程序逻辑需要30秒来操作该数据条目,则不会发生超时)。
理解正确吗?