Heim >Backend-Entwicklung >C++ >Wie rufe ich eine gespeicherte Prozedur mit Parametern in C# auf?

Wie rufe ich eine gespeicherte Prozedur mit Parametern in C# auf?

Linda Hamilton
Linda HamiltonOriginal
2025-01-23 12:52:10245Durchsuche

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

Aufrufen einer gespeicherten Prozedur mit Parametern in C#

Frage:

Wie rufe ich eine gespeicherte Prozedur mit Parametern aus meinem C#-Code auf? Ich kann Einfüge-, Aktualisierungs- und Löschvorgänge mithilfe von Befehlszeichenfolgen ausführen, bin mir aber nicht sicher, wie ich mit den gespeicherten Prozeduren umgehen soll.

Dies ist mein aktueller Code, der mithilfe der Befehlszeichenfolge erfolgreich Daten einfügt:

<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>

Antwort:

Um eine gespeicherte Prozedur mit Parametern aufzurufen, können Sie die folgenden Schritte ausführen:

  1. Erstellen Sie ein SqlCommand-Objekt und legen Sie seine CommandType-Eigenschaft auf CommandType.StoredProcedure fest.
  2. Verwenden Sie die Parameters-Auflistung, um Parameter zum SqlCommand-Objekt hinzuzufügen. Jeder Parameter sollte seinen Namen, Datentyp und Wert angeben.
  3. Öffnen Sie die Datenbankverbindung und führen Sie SqlCommand aus.

Der folgende aktualisierte Code zeigt, wie die gespeicherte Prozedur sp_Add_contact mit zwei Parametern aufgerufen wird:

<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>

Um die Lesbarkeit und Wartbarkeit des Codes zu verbessern, wird empfohlen, zum Hinzufügen von Parametern die Methode AddWithValue zu verwenden, die automatisch auf den Datentyp der Parameter schließt. Bitte stellen Sie sicher, dass Ihre gespeicherte Prozedur sp_Add_contact tatsächlich existiert und die Parameternamen mit denen in Ihrem Code übereinstimmen.

Das obige ist der detaillierte Inhalt vonWie rufe ich eine gespeicherte Prozedur mit Parametern in C# auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn