Rubrik: Datenbanken | VB-Versionen: VB2022 | 01.07.24 |
SQL Datentabellen-Felder vom Typ Text/RTF komplett anzeigen und/oder übersetzen Das Programm "dhShowSQLtextfeld" realisiert die komplette Anzeige des Inhalts von Text(auch RTF-Text) Feldern, die in Datentabellen gespeichert sind. | ||
Autor: Dietrich Herrmann | Bewertung: | Views: 586 |
ohne Homepage | System: Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Wer mit SSMS arbeitet und dort auch des öfteren Datentabellen anzeigen lässt, sieht, dass alle Felder recht knapp angezeigt werden, auch die meist umfangreich gefüllten Text(RTF) Felder (auch Felder vom Typ nvarchar(MAX)). SSMS bietet keine Möglichkeit diese Art Feldinhalte komplett anzuzeigen, um den Inhalt kontrollieren zu können.
Mein Programm stellt eine Form zur Verfügung (extern), die eben diese Anzeigefunktion realisiert. Es muss gestartet und geöffnet sein, wenn man es gemeinsam mit SSMS nutzen will. Dann kann man im SSMS mit Alle Zeilen bearbeiten eine Datentabelle öffnen. Damit werden alle Datensätze mit Feldern angezeigt. Man kann nun das interessierende Datenfeld in einem Datensatz anklicken, wobei der Feldinhalt in Gänze sofort selektiert (blau eingefärbt) wird. Jetzt kopiert man mit der Tastenkombination Strg+C diesen Inhalt in die Zwischenablage.
Mein Programm arbeitet jetzt so, dass der Text aus der Zwischenablage mittels der Klasse ClipboardWatcher (Feststellen, ob sich Inhalt der Zwischenablage sich geändert hat, siehe entsprechenden Tipp) geholt wird, in eine RichtextBox gespeichert und somit komplett angezeigt wird. Das Selektieren in der Datentabelle kann man nun fortsetzen und jedesmal wird der kopierte Text sofort im externen Programm angezeigt. Für mich stellt diese Arbeitsweise eine gute Hilfe für den Umgang mit SQL-Tabellen via SSMS dar.
Es gibt zwei Arbeitsweisen mit dem Programm, die durch zwei unterschiedliche Startformen gekennzeichnet sind.
1. Die einfache Anzeigeform frmGetTextfeld, mit der die obengenannten Texte in der originalen Form Text oder RTF angezeigt werden.
2. Die erweiterte Form, die zwei Anzeigefelder beinhaltet. Das Erste ist die bekannte Anzeige aus 1.
Die Zweite zeigt den gewählten Text zunächst standardmäßig in englischer Übersetzung an. Es gibt aber oben in der Form die Auswahlmöglichkeit, in welcher Sprache man die Übersetzung angezeigt bekommen möchte. Sprache auswählen und die Übersetzung beginnt. Übrigens können nicht nur Texte aus SSMS bearbeitet werden, sondern jeder Text, der in die Zwischenablage transportiert wurde.
Jede dieser Arbeitsweisen kann mittels Startparameter ausgewählt werden, indem bei einer entsprechenden Verknüpfung der jeweilige Formname mit /Formname angegeben wird.
Tipp:
- Ich habe mir einerseits zum Arbeiten mit SSMS im Verbund mit dhShowSQLtextfeld eine Multi-Verknüpfung (siehe Tipp "Erstellen und Benutzen einer Multi-Verknüpfung") erstellt, sodass beide Programm, SSMS und dhShowSQLtextfeld gleichzeitig gestartet und geöffnet werden und arbeitsbereit sind.
- Das Programm kann natürlich auch mit anderen Quellen als SSMS arbeiten. Notepad- oder Wordtexte können genauso via Zwischenablage vom gestarteten dhShowSQLtextfeld übenommen und eventuell übersetzt werden.
WICHTIG: Um Texte übersetzen zu können ist in meinem Programm das Package JSON.Net (https://www.newtonsoft.com/json) integriert. Die Übersetzung wird dann via Google-Übersetzung realisiert.