Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mendapatkan ID Terakhir Dimasukkan Selepas INSERT SQL dalam C# MVC 4?
Mengambil ID Rekod SQL yang Baru Dimasukkan dalam C# MVC 4
Memasukkan data ke dalam jadual SQL Server menggunakan C# MVC 4 memerlukan mekanisme untuk mendapatkan ID baris yang baru ditambah. Walaupun cmd.ExecuteNonQuery()
menunjukkan bilangan baris yang terjejas, ia tidak mengembalikan ID yang dijana.
Kaedah untuk SQL Server 2005 dan Kemudian:
Pendekatan paling cekap memanfaatkan klausa 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>
Alternatif untuk Versi Pelayan SQL Lama:
Untuk versi SQL Server sebelum 2005, gunakan 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>
Coretan kod ini menunjukkan cara untuk mendapatkan ID yang baru dijana selepas operasi INSERT, memastikan pengendalian data yang betul dalam aplikasi C# MVC 4 anda. Ingat untuk menggantikan Mem_Basic
, Mem_Na
dan Mem_Occ
dengan nama jadual dan lajur sebenar anda.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Terakhir Dimasukkan Selepas INSERT SQL dalam C# MVC 4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!