Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan ID yang Dimasukkan Selepas Perintah INSERT SQL dalam C# MVC 4?

Bagaimana untuk Mendapatkan ID yang Dimasukkan Selepas Perintah INSERT SQL dalam C# MVC 4?

Patricia Arquette
Lepaskan: 2025-01-17 01:42:13
asal
500 orang telah melayarinya

Mendapatkan ID yang Dimasukkan Selepas INSERT SQL dalam C# MVC 4

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

Artikel ini menunjukkan cara memasukkan data menggunakan C# dalam aplikasi MVC 4 dan mendapatkan semula ID rekod yang baru dimasukkan. Walaupun ExecuteNonQuery menunjukkan bilangan baris yang terjejas, mendapatkan ID yang disisipkan memerlukan pendekatan yang berbeza.

Kaedah yang paling mudah digunakan ExecuteScalar. Walau bagaimanapun, hasilnya perlu dihantar secara eksplisit ke integer:

<code class="language-csharp">int modified = (int)cmd.ExecuteScalar();</code>
Salin selepas log masuk

Selepas pelaksanaan berjaya, modified akan memegang ID yang baru dijana.

Untuk SQL Server 2005 dan lebih baru, memanfaatkan kata kunci OUTPUT dalam pernyataan INSERT menyediakan penyelesaian yang lebih cekap:

<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 modified = (int)cmd.ExecuteScalar();

    if (con.State == System.Data.ConnectionState.Open) con.Close();

    return modified;
}</code>
Salin selepas log masuk

Untuk versi SQL Server yang lebih lama, fungsi SCOPE_IDENTITY() menawarkan alternatif yang setanding:

<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 modified = Convert.ToInt32(cmd.ExecuteScalar());

    if (con.State == System.Data.ConnectionState.Open)
        con.Close();

    return modified;
}</code>
Salin selepas log masuk

Kaedah ini memastikan anda mendapatkan semula ID rekod yang dimasukkan dengan tepat, tanpa mengira versi SQL Server anda. Ingat untuk mengendalikan kemungkinan pengecualian dengan sewajarnya dalam persekitaran pengeluaran.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan