重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

如何使用ADO.NETDataReader检索数据

这篇文章主要介绍了如何使用ADO.NET DataReader检索数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

10多年的平江网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整平江建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“平江网站设计”,“平江网站推广”以来,每个客户项目都认真落实执行。

使用ADO.NET DataReader检索数据包括创建Command对象的实例,然后通过调用Command.ExecuteReader创建一个DataReader,以便从数据源检索行。下面的示例演示如何使用ADO.NET DataReader检索数据,其中reader表示有效的DataReader,而command表示有效的Command对象。

reader=command.ExecuteReader();

使用DataReader对象的Read方法可从查询结果中获取行。通过向DataReader传递列的名称或序号引用,可以访问返回行的每一列。不过,为了实现***性能,DataReader提供了一系列方法,将使您能够访问其本机数据类型(GetDateTime、GetDouble、GetGuid、GetInt32等)的列值。有关数据提供程序特定的DataReaders的类型化访问器方法列表,请参见OleDbDataReader和SqlDataReader。假定基础数据类型为已知,如果使用类型化访问器方法,将减少在检索列值时所需的类型转换量。

.NETFramework的WindowsServer2003版包含DataReader的附加属性HasRows,该属性使您能够在读取DataReader之前就可确定它是否返回了任何结果。以下代码示例循环访问一个DataReader对象,并从每个行中返回两个列。

PrivateSubHasRows(ByValconnectionAsSqlConnection)  Usingconnection  DimcommandAsSqlCommand=NewSqlCommand(_  "SELECTCategoryID,CategoryNameFROMCategories;",_  connection)  connection.Open()   DimreaderAsSqlDataReader=command.ExecuteReader()   Ifreader.HasRowsThen  DoWhilereader.Read()  Console.WriteLine(reader.GetInt32(0)_  &vbTab&reader.GetString(1))  Loop  Else  Console.WriteLine("Norowsfound.")  EndIf   reader.Close()  EndUsing  EndSub

DataReader提供未缓冲的数据流,该数据流使过程逻辑可以有效地按顺序处理从数据源中返回的结果。由于数据不在内存中缓存,所以在ADO.NET DataReader检索数据过大时,DataReader是一种适合的选择。关闭DataReader。每次使用完DataReader对象后都应调用Close方法。如果Command包含输出参数或返回值,那么在DataReader关闭之前,将无法访问这些输出参数或返回值。

请注意,当DataReader打开时,该DataReader将以独占方式使用Connection。在原始DataReader关闭之前,将无法对Connection执行任何命令(包括创建另一个DataReader)。不要在类的Finalize方法中对Connection、DataReader或任何其他托管对象调用Close或Dispose。在终结器中,仅释放类直接拥有的非托管资源。如果类不拥有任何非托管资源,则不要在类定义中包含Finalize方法。

感谢你能够认真阅读完这篇文章,希望小编分享的“如何使用ADO.NET DataReader检索数据”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


当前文章:如何使用ADO.NETDataReader检索数据
网站地址:http://cqcxhl.cn/article/geogps.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP