熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

總結:ADO.NET在開發中的部分使用方法和技巧[4]

2013-11-13 11:03:56  來源: .NET編程 

  上述代碼片段調用了以下存儲過程

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

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


From:http://tw.wingwit.com/Article/program/net/201311/15090.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.