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]

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.

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

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!