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

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

2022-06-13   來源: .NET編程 

  使用 XmlReader 檢索 XML 數據

  創建一個 SqlCommand 對象來調用可生成 XML 結果集的存儲過程(例如在 SELECT 語句中使用 FOR XML 子句)將該 SqlCommand 對象與某個連接相關聯

  調用 SqlCommand 對象的 ExecuteXmlReader 方法並且將結果分配給只進 XmlTextReader 對象當您不需要對返回的數據進行任何基於 XML 的驗證時這是應該使用的最快類型的 XmlReader 對象

  使用 XmlTextReader 對象的 Read 方法來讀取數據

  如何使用存儲過程輸出參數來檢索單個行

  借助於命名的輸出參數可以調用在單個行內返回檢索到的數據項的存儲過程以下代碼片段使用存儲過程來檢索 Northwind 數據庫的 Products 表中包含的特定產品的產品名稱和單價

void GetProductDetails( 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( DATGetProductDetailsSPOutput conn )
cmdCommandType = CommandTypeStoredProcedure;
// Establish stored proc parameters
// @ProductID int INPUT
// @ProductName nvarchar() OUTPUT
// @UnitPrice money OUTPUT

// Must explicitly set the direction of output parameters
SqlParameter paramProdID =
cmdParametersAdd( @ProductID ProductID );
paramProdIDDirection = ParameterDirectionInput;
SqlParameter paramProdName =
cmdParametersAdd( @ProductName SqlDbTypeVarChar );
paramProdNameDirection = ParameterDirectionOutput;
SqlParameter paramUnitPrice =
cmdParametersAdd( @UnitPrice SqlDbTypeMoney );
paramUnitPriceDirection = ParameterDirectionOutput;

connOpen();
// Use ExecuteNonQuery to run the command
// Although no rows are returned any mapped output parameters
// (and potentially return values) are populated
cmdExecuteNonQuery( );
// Return output parameters from stored proc
ProductName = paramProdNameValueToString();
UnitPrice = (decimal)paramUnitPriceValue;
}
}

  使用存儲過程輸出參數來檢索單個行

  創建一個 SqlCommand 對象並將其與一個 SqlConnection 對象相關聯

  通過調用 SqlCommand 的 Parameters 集合的 Add 方法來設置存儲過程參數默認情況下參數都被假設為輸入參數因此必須顯式設置任何輸出參數的方向

  注 一種良好的習慣做法是顯式設置所有參數(包括輸入參數)的方向

  打開連接

  調用 SqlCommand 對象的 ExecuteNonQuery 方法這將填充輸出參數(並可能填充返回值)

  通過使用 Value 屬性從適當的 SqlParameter 對象中檢索輸出參數

  關閉連接

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


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