Wie verwenden von DataAdapter, um eine gespeicherte Prozedur aufrufen, die in C# mit Variablen Parametern
Rufe ich folgenden code in C# zu füllen dataAdapter mit einer bestimmten gespeicherten Prozedur "sp1_name". Das problem ist, dass ich möchten, rufen Sie unterschiedliche gespeicherte Prozeduren mit verschiedenen Parametern. (Alle SP ' s machen ein WÄHLEN Sie)
Nehmen wir an, dass mein name der gespeicherten Prozedur ist "SP_SOMESP", dann funktioniert alles einwandfrei.
Nehmen wir an, dass mein name der gespeicherten Prozedur ist "SP_SOMESP @Monat= 10, @Jahr = 2010", dann funktioniert es nicht. Es wirft eine exception, die nicht finden können diese gespeicherte Prozedur.
Irgendwelche Lösungen?
Dank!
//First Connection - SP1
using (SqlConnection con = new SqlConnection(conStr))
{
using (SqlCommand cmd = new SqlCommand(sp1_name, con)) //sp1_name = NAME + PARAMETERS
{
cmd.CommandTimeout = 3600;
cmd.CommandType = CommandType.StoredProcedure;
using (SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd))
{
dataAdapter.Fill(results2);
}
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersten Ausgabe:
Parameter in einer gespeicherten Prozedur sollte nicht enthalten sein, zusammen mit seinem Namen
Zweite Frage:
Das Leerzeichen in den Namen der gespeicherten Prozedur ist nicht eine gute Praxis.
Und für code, der hinter
Müssen Sie in den Parametern programmatisch, siehe SqlCommand.Parameter.
Es wäre so etwas wie
Wäre dies nach dem Befehl deklariert ist und bevor es ausgeführt wird.
Wenn Sie feststellen, dass Sie brauchen, um delcare die Daten geben, dann versuchen Sie es auf diese Weise
Überprüfen,