首頁 > 後端開發 > C++ > 如何在 C# MVC 4 中的 SQL INSERT 後檢索最後插入的 ID?

如何在 C# MVC 4 中的 SQL INSERT 後檢索最後插入的 ID?

Mary-Kate Olsen
發布: 2025-01-17 21:51:10
原創
736 人瀏覽過

How to Retrieve the Last Inserted ID After an SQL INSERT in C# MVC 4?

在 C# MVC 4 中擷取新插入的 SQL 記錄的 ID

使用 C# MVC 4 將資料插入 SQL Server 表需要一個機制來取得新新增行的 ID。 雖然 cmd.ExecuteNonQuery() 指示受影響的行數,但它不會傳回產生的 ID。

SQL Server 2005 及更高版本的方法:

最有效的方法是利用 OUTPUT 子句:

<code class="language-csharp">using (SqlCommand cmd = new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ) OUTPUT INSERTED.ID VALUES(@na,@occ)", con))
{
    cmd.Parameters.AddWithValue("@na", Mem_NA);
    cmd.Parameters.AddWithValue("@occ", Mem_Occ);
    con.Open();

    int newId = (int)cmd.ExecuteScalar();

    if (con.State == System.Data.ConnectionState.Open) con.Close();
}</code>
登入後複製

舊版 SQL Server 版本的替代方案:

對於 2005 年之前的 SQL Server 版本,請使用 SCOPE_IDENTITY():

<code class="language-csharp">using (SqlCommand cmd = new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ) VALUES(@na,@occ);SELECT SCOPE_IDENTITY();", con))
{
    cmd.Parameters.AddWithValue("@na", Mem_NA);
    cmd.Parameters.AddWithValue("@occ", Mem_Occ);
    con.Open();

    int newId = Convert.ToInt32(cmd.ExecuteScalar());

    if (con.State == System.Data.ConnectionState.Open) con.Close();
}</code>
登入後複製

這些程式碼片段示範如何在 INSERT 操作後檢索新產生的 ID,確保 C# MVC 4 應用程式中正確的資料處理。 請記得將 Mem_BasicMem_NaMem_Occ 替換為您的實際表名和列名。

以上是如何在 C# MVC 4 中的 SQL INSERT 後檢索最後插入的 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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