Maison >développement back-end >C++ >Comment appeler une procédure stockée avec des paramètres en C# ?

Comment appeler une procédure stockée avec des paramètres en C# ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-23 12:52:10281parcourir

How to Call a Stored Procedure with Parameters in C#?

Appel d'une procédure stockée avec paramètres en C#

Question :

Comment appeler une procédure stockée avec des paramètres de mon code C# ? Je peux effectuer des opérations d'insertion, de mise à jour et de suppression à l'aide de chaînes de commande, mais je ne sais pas comment gérer les procédures stockées.

Voici mon code actuel qui insère avec succès des données à l'aide de la chaîne de commande :

<code class="language-csharp">private void btnAdd_Click(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection(dc.Con);
    SqlCommand cmd = new SqlCommand("Command String", con);

    da.InsertCommand = new SqlCommand("INSERT INTO tblContacts VALUES (@FirstName, @LastName)", con);
    da.InsertCommand.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = txtFirstName.Text;
    da.InsertCommand.Parameters.Add("@LastName", SqlDbType.VarChar).Value = txtLastName.Text;

    con.Open();
    da.InsertCommand.ExecuteNonQuery();
    con.Close();

    dt.Clear();
    da.Fill(dt);
}</code>

Réponse :

Pour appeler une procédure stockée avec des paramètres, vous pouvez suivre ces étapes :

  1. Créez un objet SqlCommand et définissez sa propriété CommandType sur CommandType.StoredProcedure.
  2. Utilisez la collection Parameters pour ajouter des paramètres à l'objet SqlCommand. Chaque paramètre doit spécifier son nom, son type de données et sa valeur.
  3. Ouvrez la connexion à la base de données et exécutez SqlCommand.

Le code mis à jour suivant montre comment appeler la procédure stockée sp_Add_contact avec deux paramètres :

<code class="language-csharp">private void button1_Click(object sender, EventArgs e)
{
    using (SqlConnection con = new SqlConnection(dc.Con))
    {
        using (SqlCommand cmd = new SqlCommand("sp_Add_contact", con))
        {
            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@FirstName", txtFirstName.Text);
            cmd.Parameters.AddWithValue("@LastName", txtLastName.Text);

            con.Open();
            cmd.ExecuteNonQuery();
        }
    }

    dt.Clear();
    da.Fill(dt);
}</code>

Afin d'améliorer la lisibilité et la maintenabilité du code, il est recommandé d'utiliser la méthode AddWithValue pour ajouter des paramètres, qui déduira automatiquement le type de données des paramètres. Veuillez vous assurer que votre procédure stockée sp_Add_contact existe réellement et que les noms des paramètres sont cohérents avec ceux de votre code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn