使用 ADO.NET 存取輸出參數值
ADO.NET 預存程序通常利用輸出參數來傳回製程執行產生的資料。 本指南詳細介紹如何檢索這些值。
流程涉及以下關鍵步驟:
定義 SqlParameter
物件: 建立一個 SqlParameter
實例,指定參數的名稱、資料型,最重要的是,將其 Direction
屬性設為 ParameterDirection.Output
。
將 SqlParameter
附加到 SqlCommand
: 將新建立的 SqlParameter
加入 SqlCommand
的 Parameters
集合中。 這使得預存程序可以存取該參數。
執行預存程序:執行SqlCommand
。 此操作使用預存程序產生的值更新輸出參數。
擷取輸出值:執行後,透過Value
物件的SqlParameter
屬性存取輸出參數的值。 請記住將檢索到的值轉換為適當的資料類型。
範例:
<code class="language-csharp">using (SqlConnection conn = new SqlConnection(connectionString)) using (SqlCommand cmd = new SqlCommand("sproc", conn)) { // Define output parameter (@ID, int type) SqlParameter outputIdParam = new SqlParameter("@ID", SqlDbType.Int) { Direction = ParameterDirection.Output }; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(outputIdParam); conn.Open(); cmd.ExecuteNonQuery(); int id = (int)outputIdParam.Value; // Cast to int conn.Close(); }</code>
重要注意事項:
確保SqlDbType
中的SqlParameter
與資料庫的輸出參數資料類型精確匹配。 適當處理潛在的 null
值,可能使用可空型別 (int?
) 或空合併運算子 (??
)。
以上是如何使用 ADO.NET 從預存程序中擷取輸出參數值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!