Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan ID Rekod yang Baru Dimasukkan dalam Pelayan SQL menggunakan C# MVC 4?

Bagaimana untuk Mendapatkan ID Rekod yang Baru Dimasukkan dalam Pelayan SQL menggunakan C# MVC 4?

Linda Hamilton
Linda Hamiltonasal
2025-01-17 01:46:08936semak imbas

How to Retrieve the ID of a Newly Inserted Record in SQL Server using C# MVC 4?

Mendapatkan semula ID Rekod Pelayan SQL yang Baru Dimasukkan dengan C# MVC 4

Masalah:

Bagaimanakah anda memasukkan data ke dalam jadual SQL Server menggunakan C# dalam aplikasi MVC 4 dan kemudian mendapatkan ID rekod yang baru ditambah?

Penyelesaian:

Terdapat dua pendekatan utama, bergantung pada versi SQL Server anda:

SQL Server 2005 dan kemudian:

Kaedah yang paling berkesan untuk SQL Server 2005 dan versi seterusnya 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))
{
    // ... parameter assignments for @na and @occ ...
    int newId = (int)cmd.ExecuteScalar();
    return newId;
}</code>

Pernyataan SQL tunggal ini memasukkan data dan segera mengembalikan ID yang baru dijana.

Versi Pelayan SQL Lama (pra-2005):

Untuk versi SQL Server yang lebih lama, anda memerlukan pertanyaan dua bahagian: pernyataan INSERT diikuti dengan 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))
{
    // ... parameter assignments for @na and @occ ...
    int newId = Convert.ToInt32(cmd.ExecuteScalar());
    return newId;
}</code>

Pendekatan ini mula-mula memasukkan data dan kemudian menggunakan SCOPE_IDENTITY() untuk mendapatkan semula ID baris terakhir yang dimasukkan dalam sesi dan skop semasa. Ambil perhatian bahawa SCOPE_IDENTITY() hanya berfungsi untuk sesi dan skop semasa, jadi jika berbilang sisipan berlaku serentak, anda mungkin mendapat hasil yang tidak dijangka.

Ingat untuk menggantikan Mem_Basic, Mem_Na dan Mem_Occ dengan nama jadual dan lajur sebenar anda. Juga, pastikan parameterisasi yang betul untuk mengelakkan kelemahan suntikan SQL. Bahagian // ... menunjukkan tempat anda harus menambah kod tugasan parameter anda menggunakan cmd.Parameters.AddWithValue(...).

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Rekod yang Baru Dimasukkan dalam Pelayan SQL menggunakan C# MVC 4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn