Feedback

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

Veröffentlicht von am 03.09.2010
(1 Bewertungen)
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.
GFU-Schulungen  [Anzeige]

C# 2017/2015/2013 Grundlagen

Nach Abschluss des Kurses sind Ihnen die Datentypen und Klassenbibliotheken von C# bekannt. Außerdem sind Sie in der Lage, mit Variablen umzugehen und deren Typen zu konvertieren. Sie definieren Namespaces und setzen diese ein, Sie erstellen eigene Klassen  und bauen Trouble Shooting ein.

Visual Studio Team Foundation Server 2017/2015 (TFS) für Projektmitglieder - Kompakt

Nach Teilnahme an dieser Schulung sind Ihnen die Grundlagen von ALM geläufig. Sie planen und steuern Projekte effizient mit dem Visual Studio Team Foundation Server.

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...
Abgelegt unter sql, bind, asp.net, connection string.

3 Kommentare zum Snippet

RoSi schrieb am 03.09.2010:
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.
Keks1911 schrieb am 03.09.2010:
Nein, der SQL-Befehl hat mit dem Snippet nichts zu tun. Das Schlüsselwort 'exec' ist für Einzeiler ohnehin optional.
RoSi schrieb am 04.09.2010:
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 ;-).
 

Logge dich ein, um hier zu kommentieren!