SQL Server: Fehler bei Entwurfsänderungen

In letzter Zeit habe ich gelegentlich Änderungen an den Tabellen verschiedener SQL Server-Datenbanken vorgenommen. Einige Änderungen dienten der Erweiterung um neue Felder, andere haben Primärschlüssel, Indizes, Beziehungen und andere Elemente angepasst. Die betroffenen Tabellen enthalten teilweise sehr viele Daten, sodass SQL Server recht viel Zeit beanspruchte, die Tabellen zu ändern. Teilweise gab es Fehler, weil Zeitlimits überschritten wurden. Teilweise konnten aber auch neue Beziehungen oder Indizes nicht angelegt werden, weil die Integrität der Daten nicht gegeben war. Dieser Artikel zeigt, welche Einstellungen Sie dann ändern können und welche Ursachen es gibt, wenn all dies nichts hilft.

Weiterlesen

IsDefault: Standardschaltfläche festlegen

Unter WPF haben Sie verschiedene Möglichkeiten, eine Schaltfläche festzulegen, die beim Betätigen der Eingabetaste ausgelöst wird. Die einfachste ist die über das Attribut “IsDefault” einer Schaltfläche. Stellen Sie dieses auf den Wert “True” ein, wird die normalerweise durch Schaltfläche ausgelöste Ereignismethode auch beim Betätigen der Eingabetaste ausgelöst. Unter welchen Voraussetzungen das geschieht, zeigt dieser Artikel.

Weiterlesen

EDM mit vorhandener SQL Server-Datenbank

In einigen der vorherigen Ausgaben haben wir uns mit dem Erstellen eines Entity Data Models auf Basis auf Access-Datenbanken konzentriert. Dabei haben wir aus dem Datenmodell der Access-Datenbank ein Entity Data Model erstellt, mit dem dann die SQL Server-Datenbank angelegt werden konnte. Nun wollen wir den vermutlich nicht so seltenen Fall betrachten, dass bereits eine SQL Server-Datenbank existiert. Dabei zeigen wir, wir Sie das Entity Data Model erstellen und damit auf die in der SQL Server-Datenbank enthaltenen Daten zugreifen können – und wie Sie die Namen von Entitäten und Eigenschaften angleichen, wenn die in den Tabellen und Feldern verwendeten Namen nicht passen.

Weiterlesen

IsCancel: Abbrechen-Schaltfläche festlegen

Unter WPF gibt es verschiedene Wege, um zu definieren, was in einem Fenster beim Betätigen der Escape-Taste geschehen soll. Sie könnten beispielsweise die Ereignisse abfangen, die beim Drücken einer Taste ausgelöst werden und dabei prüfen, ob der Benutzer die Escape-Taste gedrückt hat. Meist jedoch gibt es eine Schaltfläche, welche die gleiche Funktion bereithalten soll wie die Escape-Taste – zum Beispiel das Schließen des Fensters über eine Abbrechen-Schaltfläche ohne Speichern der Daten. Wie dies ganz einfach mithilfe des Attributs “IsCancel” erledigen, zeigt der vorliegende Artikel.

Weiterlesen

Symbolleiste speichern und wiederherstellen

Mit dem ToolBar-Element können Sie einem Fenster auf einfache Weise eine Symbolleiste zuweisen. Je nach Umfang der Anwendung können so einige Symbolleisten zusammenkommen. Diese kann der Benutzer normalerweise selbst organisieren. Allerdings werden die Symbolleisten bei jedem Start wieder so hergestellt, wie es in der XAML-Definition vorgesehen ist. Ändert der Benutzer also die Position von Symbolleisten oder blendet er diese ein oder aus, halten diese Anpassungen immer nur bis zum nächsten Start der Anwendung. Außer natürlich, wir sehen eine Funktion vor, die den aktuellen Stand speichert und beim nächsten Start wiederherstellt.

Weiterlesen

Symbolleisten mit dem ToolBar-Steuerelement

Bei Anwendungen, die eine Menüleiste statt des Ribbons verwenden, finden Sie meist auch noch Symbolleisten vor. Davon gibt es im Gegensatz zur Menüleiste manchmal nicht nur eine, sondern mehrere. Symbolleisten zeichnen sich außerdem dadurch aus, dass Sie diese verschieben können und dass sie keine Untermenüs enthalten. Außerdem finden Sie die Befehle meist in Form einfacher Schaltflächen mit entsprechenden Symbolen vor, damit diese wenig Platz wegnehmen. Auch für eine WPF-Anwendung können Sie Symbolleisten hinzufügen. Wie das geht, zeigt der vorliegende Artikel.

Weiterlesen

Das Menu-Steuerelement

Wie Sie einer Anwendung beziehungsweise einem Fenster einer WPF-Anwendung ein Ribbon hinzufügen können, haben wir an anderer Stelle bereits erläutert. Wer nicht auf die eher platzraubenden Ribbons steht, kann sich auch der klassischen Menüs bedienen. Diese lassen sich unter WPF genauso leicht definieren wie Ribbons. Dieser Artikel zeigt, wie Sie einem Fenster ein Menü hinzufügen und welche Steuerelemente sich dort unterbringen lassen. Damit die Optik nicht leidet, bauen wir auch hier passende Icons ein.

Weiterlesen

Anwendungseinstellungen unter VB nutzen

Es gibt verschiedene Gründe, Konfigurationsdaten einer Anwendung zu speichern – um den zuletzt verwendeten Dateipfad zu speichern, die Position und Größe von Fenstern zu sichern oder auch um die Verbindungsdaten zu einer Datenbank, die sich gelegentlich ändern, zu hinterlegen. Es gibt dafür einen eigenen Bereich in einem Projekt, der in einer speziellen Datei gespeichert wird. Dieser ist auch per VB zugänglich. Wie Sie Konfigurationsdateien mit Visual Basic anlegen und diese wieder abrufen, zeigt der vorliegende Artikel.

Weiterlesen

Commands verwenden

Wenn Sie unter Access und VBA Ereignisse programmiert haben, hat beispielsweise jedes Steuer-element, jede Ribbon-Schaltfläche und jeder Kontextmenü-Eintrag ein eigenes Ereignis erhalten – auch, wenn diese genau die gleiche Funktion auslösen sollten. Das war schon durch die unterschiedlichen Schnittstellen nötig. Unter WPF können Sie ein und dieselbe Funktion von verschiedenen Steuerelementen aus auslösen. Das gelingt allerdings nicht mit herkömmlichen Ereignismethoden, sondern mit sogenannten Commands. Was das ist und wie Sie es in Ihre Anwendungen einbauen können, zeigt der vorliegende Artikel.

Weiterlesen

Das GridSplitter-Steuerelement

Das Grid-Steuerelement dürfte Ihnen als Leser dieses Magazins bekannt sein – wir verwenden es sehr oft, um die Position von Steuerelementen wie Bezeichnungsfeldern, Textfeldern oder Schaltflächen einzustellen. Im Zusammenhang mit dem Grid-Steuerelement müssen Sie ein weiteres Steuerelement unbedingt kennenlernen: das GridSplitter-Steuerelement. Dieses unterteilt das Grid zwischen zwei bestimmten Zeilen oder Spalten und bietet die Möglichkeit, dass Sie das Verhältnis des Höhe beziehungsweise Breite der Steuerelemente über/unter beziehungsweise links/rechts vom GridSplitter-Steuerelement einstellen können. Damit können Sie dann den jeweils benötigten Bereich vergrößern.

Weiterlesen