Monthly Archives: März 2016
SQL With
Kennt Ihr SQL Abfragen wie
1 2 3 4 |
SELECT CASE WHEN Beispiel = 1 THEN 'Apfel' ELSE 'Birne' END as Frucht WHERE Frucht...? |
jetzt könnte man hingehen und die case when Anweisung in die Where Klausel bringen. Dies würde aber den Code unnötig aufblähen und Fehler sind einprogrammiert. Jetzt bietet SQL die With Anweisung an. Diese kann man sich wie eine ausgelagerte View vorstellen, auf die man zugreifen kann.
1 2 3 4 5 6 7 8 9 |
;with Obstbaum as ( SELECT CASE WHEN Beispiel = 1 THEN 'Apfel' ELSE 'Birne' END as Frucht From Plantage ) SELECT * FROM Obstbaum Where Frucht = 'Birne' |
Wir sehen […]
Richtig casten
Ich will es mal kurz halten : Casten ist nicht konvertieren, es ist eher eine Typzuweisung. Da in C# alles vom Typ Object erbt, können wir dem Object alles zuweisen was wir wollen. Um dann dem Compiler zu sagen, dieses Object ist aber vom Typ String und besitzt dementsprechend seine Eigenschaften, müssen wir es Casten. […]
Bulkupsert oder einfach Update, wenn bereits vorhanden ansonsten Insert in MSSQL
Lange habe ich nach einer vernünftigen Lösung gesucht, um riesige Datenmengen schnell in die Datenbank zu schreiben. Als Quelle steht uns eine List<Class> mit der Klasse zur Verfügung, die der Datenbanktabelle gleicht und jede Menge Inhalte enthält. Versucht man diese Liste nun über das Entity Framework in die Datenbank zu jagen, merkt man schnell, dass […]
String zusammensetzen Vergleich mit C#6
Wer kennt das nicht, da muss man z.B. einen SQL String basteln, der Werte aus Variablen zusammen setzen muss. Hierfür haben wir die 3 Variablen, die in die Personen Tabelle hinzugefügt werden müssen:
1 2 3 |
string Vorname = "Hans"; string Nachname = "Müller"; DateTime Geburtstag = new DateTime(1988, 2, 22); |
Die meisten Entwickler arbeiten dann einfach ohne Parameter:
1 |
string sql = "INSERT INTO Personen (Vorname,Nachname,Geburtstag) VALUES ('" + Vorname + ",'" + Nachname + "','" + Geburtstag + "');"; |
Der nächste sagt, ich arbeite mit dem StringFormater:
1 |
string sql = string.Format("INSERT INTO Personen (Vorname,Nachname,Geburtstag) VALUES ('{0}','{1}','{2}'", Vorname, Nachname, Geburtstag); |
Ein weiterer sagt, […]
Login