Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mendapatkan Nilai Pulangan Prosedur Tersimpan dalam C#?

Bagaimana untuk Mendapatkan Nilai Pulangan Prosedur Tersimpan dalam C#?

Linda Hamilton
Lepaskan: 2025-01-20 01:17:13
asal
974 orang telah melayarinya

How to Retrieve a Stored Procedure's Return Value in C#?

Dapatkan nilai pulangan prosedur tersimpan dalam C#

Artikel ini menerangkan cara memanggil prosedur tersimpan daripada aplikasi C# Windows dan mendapatkan nilai pulangannya. Prosedur tersimpan usp_GetNewSeqVal digunakan untuk menjana nilai jujukan baharu. Walaupun merujuk kepada beberapa penyelesaian di Internet, anda masih tidak berjaya memperoleh nilai pulangan.

Masalahnya ialah parameter arah ReturnValue tiada daripada arahan. Untuk membetulkannya, anda perlu menambah parameter berikut:

<code class="language-csharp">var returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int);
returnParameter.Direction = ParameterDirection.ReturnValue;</code>
Salin selepas log masuk

Tetapkan arah parameter kepada ParameterDirection.ReturnValue mengarahkan SqlCommand untuk mengisytiharkannya sebagai pembolehubah dan tetapkan nilai pulangan prosedur tersimpan kepadanya. Ini serupa dengan sintaks yang digunakan dalam SQL (exec @ReturnValue = spMyProcedure...).

Dengan menambahkan parameter ini, panggilan cmd.ExecuteReader() akan melaksanakan prosedur yang disimpan dan menyimpan nilai pulangan dalam returnParameter. Anda kemudian boleh mengaksesnya sebagai returnParameter.Value.

Berikut ialah kod dengan pengubahsuaian yang diperlukan:

<code class="language-csharp">using (SqlConnection conn = new SqlConnection(getConnectionString()))
using (SqlCommand cmd = conn.CreateCommand())
{
    cmd.CommandText = parameterStatement.getQuery();
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.AddWithValue("SeqName", "SeqNameValue");

    var returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int);
    returnParameter.Direction = ParameterDirection.ReturnValue;

    conn.Open();
    cmd.ExecuteNonQuery();
    var result = returnParameter.Value;
}</code>
Salin selepas log masuk

Dengan membuat perubahan ini, anda akan berjaya mendapatkan nilai pulangan prosedur yang disimpan.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Pulangan Prosedur Tersimpan dalam C#?. 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