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]

VB.NET Einführung

Die Schulung zeigt Ihnen, wie Sie einfache, benutzerorientierte Programme, die auf Datenbanken zugreifen, in VB.NET eigenständig entwickeln. 

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

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!