首頁 > 後端開發 > C++ > 如何在 C# 中從 SQL Server 預存程序檢索傳回值?

如何在 C# 中從 SQL Server 預存程序檢索傳回值?

Linda Hamilton
發布: 2025-01-20 01:11:08
原創
797 人瀏覽過

How to Retrieve a Return Value from a SQL Server Stored Procedure in C#?

使用 C# 存取 SQL Server 預存程序的回傳值

本文介紹如何在 C# 應用程式中正確檢索 SQL Server 預存程序的回傳值。 當嘗試存取返回值(例如下一個序號)而沒有正確的參數處理時,會出現一個常見問題。

此範例使用預存程序 usp_GetNewSeqVal,它遞增 AllSequences 表中的序列值並傳回更新後的值。 C# 程式碼連接到資料庫並使用 SqlCommand.

執行預存程序

檢索回傳值的關鍵是將帶有ParameterDirection.ReturnValue的參數加入SqlCommand的參數集合中。這個專用參數充當儲存過程輸出的容器。

這是修正後的 C# 程式碼片段:

<code class="language-csharp">using (SqlCommand cmd = conn.CreateCommand())
{
    // ... other code ...

    // Add a parameter to receive the return value
    SqlParameter returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int);
    returnParameter.Direction = ParameterDirection.ReturnValue;

    // ... other code ...

    conn.Open();
    cmd.ExecuteNonQuery();
    int result = (int)returnParameter.Value; // Cast to appropriate type
}</code>
登入後複製

透過將 ParameterDirection 設定為 ReturnValueSqlParameter 被指定為儲存程序傳回值的接收者。 在 ExecuteNonQuery() 之後,此參數的 Value 屬性保存傳回的值,然後 C# 應用程式可以存取和使用該值。 請記住將 Value 屬性轉換為正確的資料類型。

以上是如何在 C# 中從 SQL Server 預存程序檢索傳回值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板