c#

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

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


发布日期:2022年01月15日
 
总结:ADO.NET在开发中的部分使用方法和技巧[4]

上述代码片段调用了以下存储过程

CREATE PROCEDURE DATGetProductDetailsSPOutput

@ProductID int

@ProductName nvarchar() OUTPUT

@UnitPrice money OUTPUT

AS

SELECT @ProductName = ProductName

@UnitPrice = UnitPrice

FROM Products

WHERE ProductID = @ProductID

GO

如何使用 SqlDataReader 来检索单个行

可以使用 SqlDataReader 对象来检索单个行尤其是可以从返回的数据流中检索需要的列值以下代码片段对此进行了说明

void GetProductDetailsUsingReader( int ProductID

out string ProductName out decimal UnitPrice )

{

using( SqlConnection conn = new SqlConnection(

server=(local);Integrated Security=SSPI;database=Northwind) )

{

// Set up the command object used to execute the stored proc

SqlCommand cmd = new SqlCommand( DATGetProductDetailsReader conn );

cmdCommandType = CommandTypeStoredProcedure;

// Establish stored proc parameters

// @ProductID int INPUT

SqlParameter paramProdID = cmdParametersAdd( @ProductID ProductID );

paramProdIDDirection = ParameterDirectionInput;

connOpen();

using( SqlDataReader reader = cmdExecuteReader() )

{

if( readerRead() ) // Advance to the one and only row

{

// Return output parameters from returned data stream

ProductName = readerGetString();

UnitPrice = readerGetDecimal();

}

}

}

}

使用 SqlDataReader 对象来返回单个行

建立 SqlCommand 对象

打开连接

调用 SqlDataReader 对象的 ExecuteReader 方法

通过 SqlDataReader 对象的类型化访问器方法(在这里为 GetString 和 GetDecimal)来检索输出参数

上述代码片段调用了以下存储过程

CREATE PROCEDURE DATGetProductDetailsReader

@ProductID int

AS

SELECT ProductName UnitPrice FROM Products

WHERE ProductID = @ProductID

GO

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

               

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

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