Feedback

Fire-and-forget SQL-query (in 3 Zeilen)

Sprache: C#

Dieses Snippet soll eine kurze Notation für 1-Click-Funktionen (Setup, Reset-Funktionen, dergleichen) zeigen, welche keine Rückgabe erfordern und direkt auf dem SQL Server arbeiten. Es verwendet einen vorkonfigurierten ConnectionString aus der Konfigurationsdatei.
using (System.Data.SqlClient.SqlCommand c = new System.Data.SqlClient.SqlCommand("exec MeineStoredProcedure", 
    new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["meinConnectionString"].ConnectionString)))
{
    c.Connection.Open();
    c.ExecuteNonQuery();
}
//myControl.DataBind(); // falls der Query gebundene Daten verändert...
using (System.Data.SqlClient.SqlCommand c = new System.Data.SqlClient.SqlCommand("exec MeineStoredProcedure", 
    new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["meinConnectionString"].ConnectionString)))
{
    c.Connection.Open();
    c.ExecuteNonQuery();
}
//myControl.DataBind(); // falls der Query gebundene Daten verändert...

3 Kommentare

  1. Bewirkt das „EXEC“, dass der Ablauf der SP nicht abgewartet wird und ExecuteNonQuery() sogleich beendet wird? das kann ich mir kaum vorstellen, da die Funktion ja die Anzahl der betroffenen Zeilen zurückliefert. M.E. macht das nur Sinn, wenn diese 1-Click-Methode asynchron aufgerufen wird. Lasse mich aber gern eines besseren belehren.

  2. Sorry, dann verstehe ich den Sinn nicht. Wenn man sich die FAQ durchliest, welchen Zweck die Seite hat, dann halte ich dieses „Snippet“ für vollkommen überflüssig. Das ^^ ist doch ein ganz normaler DB-Zugriff. (Im Übrigen: wenn man die Befehle c.Connection.Open(); c.ExecuteNonQuery(); in eine Zeile packt, dann hätte man auch mit dem Slogan „Zweizeiler“ werben können ;-).