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

Bagaimana untuk Mendapatkan Nilai Pulangan daripada Prosedur Tersimpan dalam C#?

Patricia Arquette
Patricia Arquetteasal
2025-01-06 02:55:39395semak imbas

How to Retrieve Return Values from Stored Procedures in C#?

Mendapatkan Nilai Pulangan daripada Prosedur Tersimpan dalam C#

Artikel ini meneroka cara mendapatkan kembali nilai pulangan daripada prosedur tersimpan dalam C#.

Mari kita pertimbangkan prosedur tersimpan berikut yang dinamakan "[dbo].[Sahkan]":

ALTER PROCEDURE [dbo].[Validate]
@a varchar(50),
@b varchar(50) output

AS

SET @Password = 
(SELECT Password
FROM dbo.tblUser
WHERE Login = @a)

RETURN @b

Untuk melaksanakan prosedur tersimpan ini dan mendapatkan semula nilai pulangan, anda boleh menggunakan kod berikut:

using System;
using System.Data;
using System.Data.SqlClient;

namespace StoredProcedureReturnValue
{
    class Program
    {
        static void Main(string[] args)
        {
            // Assuming you have a connection string defined in your app config
            string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyLocalSQLServer"].ConnectionString;

            // Create a connection and command object
            using (SqlConnection SqlConn = new SqlConnection(connectionString))
            using (SqlCommand sqlcomm = new SqlCommand("Validate", SqlConn))
            {
                // Specify the stored procedure
                sqlcomm.CommandType = CommandType.StoredProcedure;

                // Add input parameters
                SqlParameter inputParam = new SqlParameter("@a", SqlDbType.VarChar, 50);
                inputParam.Value = "myUsername";
                sqlcomm.Parameters.Add(inputParam);

                // Add an output parameter to receive the return value
                SqlParameter outputParam = new SqlParameter("@b", SqlDbType.VarChar, 50);
                outputParam.Direction = ParameterDirection.ReturnValue;
                sqlcomm.Parameters.Add(outputParam);

                // Open the connection and execute the stored procedure
                SqlConn.Open();
                sqlcomm.ExecuteNonQuery();

                // Retrieve the output value
                string returnValue = (string)outputParam.Value;

                // Do something with the return value
                Console.WriteLine($"Return value: {returnValue}");
            }
        }
    }
}

Kekunci perkara yang perlu diperhatikan:

  • Ingat untuk memanggil ExecuteNonQuery() pada Objek SqlCommand untuk melaksanakan prosedur tersimpan.
  • Arah parameter output mesti ditetapkan kepada ReturnValue untuk menerima nilai pulangan.
  • Akhir sekali, dapatkan nilai pulangan daripada sifat Nilai keluaran parameter.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Pulangan 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