Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengambil Nilai Pulangan dengan Betul daripada Prosedur Tersimpan dalam C#?

Bagaimana untuk Mengambil Nilai Pulangan dengan Betul daripada Prosedur Tersimpan dalam C#?

Barbara Streisand
Barbara Streisandasal
2025-01-05 14:47:40700semak imbas

How to Correctly Retrieve a Return Value from a Stored Procedure in C#?

Mengambil Nilai Pulangan daripada Prosedur Tersimpan dalam C#

Apabila melaksanakan prosedur tersimpan yang mengembalikan nilai dalam C#, ralat logik yang sering membawa kepada pengembalian nol ialah peninggalan melaksanakan pertanyaan.

Kepada laksanakan prosedur tersimpan dan dapatkan nilai pulangan, anda perlu menggunakan kaedah ExecuteNonQuery() selepas menambah parameter yang diperlukan. Coretan kod berikut menunjukkan versi kod yang diperbetulkan:

SqlConnection SqlConn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MyLocalSQLServer"].ConnectionString.ToString());
System.Data.SqlClient.SqlCommand sqlcomm = new System.Data.SqlClient.SqlCommand("Validate", SqlConn);

string returnValue = string.Empty;

try
{
    SqlConn.Open();
    sqlcomm.CommandType = CommandType.StoredProcedure;

    SqlParameter param = new SqlParameter("@a", SqlDbType.VarChar);
    param.Direction = ParameterDirection.Input;
    param.Value = Username;
    sqlcomm.Parameters.Add(param);



    SqlParameter retval = sqlcomm.Parameters.Add("@b", SqlDbType.VarChar);
    retval.Direction = ParameterDirection.ReturnValue;

    // Execute the stored procedure
    sqlcomm.ExecuteNonQuery();

    string retunvalue = (string)sqlcomm.Parameters["@b"].Value;
}
catch(Exception ex)
{
    // Handle any exceptions here
}

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