Eintrag in AppSettings zur Laufzeit ändern

image_pdfimage_print
  1. Zunächst benötigt man eine Referenz auf “System.Configuration”. Diese ist per Standard nicht in einem Projekt eingebunden
  2. Man muss eine AppSettings.config erstellen, die in etwa so aussieht:
  3. Anschließend noch eine Hilfsfunktion:
  4. Die man ausführen kann:
  5. Auslesen kann man die AppSettings ganz einfach mit
0  

SQL Backup erzeugen

image_pdfimage_print

Kurz und knackiger Skript um ein Backup zu erzeugen.

Ergebnis: MyDatabase_2018-04-30.bak

Andrere Datumsformate auch hier: https://www.techonthenet.com/sql_server/functions/convert.php

0  

Insert and retrieve autogenerated ID

image_pdfimage_print

Möchte man einen Insert durchführen und daraufhin die generierte ID erhalten, so geht es beim Identifiert (Int) sehr einfach über den OUTPUT Parameter:

Beim Uniqueidentifier (GUID) ist das Selektieren eines @@Identity nicht möglich.

Daher muss eine temporäre Tabelle hinhalten:

 

 

 

0  

Vivaldi Browser

image_pdfimage_print

Auf der Suche nach einem Browser, der Tabs stacken/gruppieren kann, bin ich bei Vivaldi gelandet. Dieser hat mich in vielerlei hinsicht überzeugt:

  1. Die Engine ist die Gleiche wie bei Chromium.
  2. Das Entwicklungsmenü ist zu Chrome gleich.
  3. Man kann Tabs gruppieren und wirklich alles ändern.

 

Anbei der Link zu Vivaldi: https://vivaldi.com

Ich habe noch die style.css anpassen müssen, da die Schriftart zu smoothie aussieht und mir die Schriftgröße für die Tabs zu klein war.

Diese befindet sich bei Windows hier:

C:\Users\Seibel\AppData\Local\Vivaldi\Application\1.14.1077.60\resources\vivaldi\style\common.css

Dazu folgende Änderungen einfügen: Im Kopf einfügen

Nach .tab-position .tab { suchen und folgendes hinzufügen

Dann im kommpletten Stylesheet nach smooth suchen und bis auf den angefügten Kopfeintrag alle smooth Einträge entfernen

 

Als Theme habe ich das Dark Theme genommen und die Farben angepasst:

 

 

0  

Snippet um Zip Dateien im Memory zu erstellen

image_pdfimage_print

Wenn Foldername gefüllt ist, wird ein Verzeichnis erstellt, wo die Dateien reinkommen.

In Verbindung mit MVC kann der Stream nun Chunk-weise ausgegeben werden:

 

0  

SQL Funktion um gleich klingende Wörter zu erkennen

image_pdfimage_print

SQL hat eine interne Funktion, um Wörter, die gleich klingen nach einer mathematischen Formel zu berechnen.

Beispiel:

bekommen beide den Wert B162.

Diese Funktion ist besonders für Suchanfragen perfekt.

0  

Trigger, der tatsächlich alles löscht

image_pdfimage_print

Wenn man in T-SQL einen Trigger auf eine Tabelle legt und diese soll nach einem Löschvorgang ebenfalls etwas anderes machen, dann stoßt man auf das folgende Problem. Solange man nur eine Zeile löscht, ist alles in Ordnung, sobald man aber mehrere Datensätze löscht, kann es passieren, dass nur der erste Trigger greift. Der Grund ist, wie man auf die deleted Tabelle zugreift.

Nutzt man SELECT TOP 1 FROM deleted, so bekommt man auch nur die erste ID. Löscht man mehrere Datensätze, befinden sich aber mehrere IDs in der deleted Tabelle.

Die Lösung ist, dass man Cursor an dieser Stelle verwendet, die Zeile für Zeile, alle IDs bearbeiten.

 

0  

IsNull in JavaScript

image_pdfimage_print

In SQL gibt es die tolle Funktion, wenn ein Wert nicht null ist, dann nimm diesen, ansonsten nimm die Alternative. Die Syntax dazu ist IsNull(‘meinWert,’Alternative’). Um z.B. dem Nutzer kein null in einer Textbox anzuzeigen, habe ich eine Funktion geschrieben, die im Prinzip das gleiche macht.

0  

Get Rekursive Object

image_pdfimage_print

Mit der folgenden Funktion kann man rekursiv ein Objekt in Javascript nach einem bestimmten Attribut durchsuchen. Das ganze auch noch ziemlich performant.

 

0  

SQL Management Studio Sitzung neu laden

image_pdfimage_print

Wenn man z.B. eine neue Spalte angelegt hat und möchte dann, diese im Query Editor ansprechen, so wird diese rot angestrichen. Das bedeutet, dass er in dieser Sitzung diese Spalte noch nicht kennt.

Mit der Tastenkombination Strg + Shift + R kann man die Sitzung aber einfach neu starten.

0