2016-12-13 2 views
0

Ich habe eine gespeicherte Prozedur, die eine Menge Sachen basierend darauf, ob das Passwort der Person die Kriterien erfüllt. Ich brauche es nicht, um etwas zurückzugeben. Führen Sie einfach den Vorgang aus.Ich möchte SqlCommand nichts zurückgeben, tun Sie einfach

Ich sah THIS und es scheint, alle Execute(blah) Erweiterungen etwas zurückgeben. Gibt es eine Execute(blah) für SqlCommand, die nur die Prozedur ausführt und nichts zurückgibt?

+5

'ExecuteNonQuery()' gibt nur die Anzahl der betroffenen Zeilen zurück, die Sie ignorieren können. Rückkopplungsschleifen sind im Allgemeinen eine gute Sache. – Plutonix

+4

'ExecuteNonQuery' führt die Abfrage und den Rückgabewert betroffener Zeilen aus. Sie können diese Methode aufrufen, ohne einen Rückgabewert zuzuweisen. nur 'command.ExecuteNonQuery()' – Fabio

+0

Ich benutzte das tatsächlich. Okay. Ausgezeichnet! Danke –

Antwort

4

Sie können ExecuteNonQuery verwenden. Es wird die Anzahl der betroffenen Zeilen zurückgeben, einfach nicht zuweisen.

 using (var conn = new SqlConnection("YOUR CONNECTION STRING")) 
     { 
      using (var command = new SqlCommand("YOUR PROCEDURE NAME", conn)) 
      { 
       command.CommandType = CommandType.StoredProcedure; 
       conn.Open(); 
       command.ExecuteNonQuery(); 
      } 
     } 
2

Ich denke, dass Sie nach der "SET NOCOUNT" Aussage suchen.

https://msdn.microsoft.com/en-us/library/ms189837.aspx

Es verhindert, dass Transaktionen und Stored Procedures von den zusätzlichen Nachrichten über die Rückkehr, was es getan hat.

+0

Website nicht gefunden –

+1

versuchen Sie es erneut, sollte jetzt sortiert werden. – pacreely

+0

so dass geht in meinem SP. interessant –