c#

位置:IT落伍者 >> c# >> 浏览文章

总结:ADO.NET在开发中的部分使用方法和技巧[2]


发布日期:2019年04月03日
 
总结:ADO.NET在开发中的部分使用方法和技巧[2]

}

finally

{

readerClose(); // Also closes the connection due to the

// CommandBehavior enum used when generating the reader

}

}

使用 SqlDataReader 检索行

创建一个用来执行存储过程的 SqlCommand 对象并将其与一个 SqlConnection 对象相关联

打开连接

通过调用 SqlCommand 对象的 ExecuteReader 方法创建一个 SqlDataReader 对象

要从流中读取数据请调用 SqlDataReader 对象的 Read 方法来检索行并使用类型化访问器方法(如 GetInt 和 GetString 方法)来检索列值

使用完读取器后请调用其 Close 方法

如何使用 XmlReader 检索多个行

可以使用 SqlCommand 对象来生成 XmlReader 对象后者可提供对 XML 数据的基于流的只进访问命令(通常为存储过程)必须产生基于 XML 的结果集对于 SQL Server 而言该结果集通常包含一个带有有效 FOR XML 子句的 SELECT 语句以下代码片段阐明了该方法

public void RetrieveAndDisplayRowsWithXmlReader()

{

using( SqlConnection conn = new SqlConnection(connectionString) )

{;

SqlCommand cmd = new SqlCommand(DATRetrieveProductsXML conn );

cmdCommandType = CommandTypeStoredProcedure;

try

{

connOpen();

XmlTextReader xreader = (XmlTextReader)cmdExecuteXmlReader();

while ( xreaderRead() )

{

if ( xreaderName == PRODUCTS )

{

string strOutput = xreaderGetAttribute(ProductID);

strOutput += ;

strOutput += xreaderGetAttribute(ProductName);

ConsoleWriteLine( strOutput );

}

}

xreaderClose(); // XmlTextReader does not support IDisposable so it cant be

// used within a using keyword

}

}

上述代码使用了以下存储过程

CREATE PROCEDURE DATRetrieveProductsXML

AS

SELECT * FROM PRODUCTS

FOR XML AUTO

GO

[] [] [] [] [] [] [] [] []

               

上一篇:总结:ADO.NET在开发中的部分使用方法和技巧[3]

下一篇:总结:ADO.NET在开发中的部分使用方法和技巧[6]