Exemplarische Vorgehensweise: Hinzufügen von Validierung zu einem DataSet
In dieser exemplarischen Vorgehensweise wird das Validieren von geänderten Daten in einem Dataset veranschaulicht. Die Stelle, an der eine Validierung vorgenommen wird, hängt von den Anforderungen der jeweiligen Anwendung ab. In dieser exemplarischen Vorgehensweise werden Daten beim Ändern der Werte in den einzelnen Spalten validiert. Im folgenden Beispiel wird mithilfe des ColumnChanging-Ereignisses überprüft, ob ein zulässiger Wert in den Datensatz eingegeben wird. Wenn der Wert nicht gültig ist, wird der Benutzer durch die Anzeige eines ErrorProvider-Steuerelements darauf aufmerksam gemacht.
In diesem Beispiel wird veranschaulicht, wie mit dem Dataset-Designer eine partielle Klasse für das Dataset erstellt wird. (Einer partiellen Klasse kann Code zur Erweiterung der Funktionen des von Visual Studio generierten DataSets hinzugefügt werden. Sie wird nicht überschrieben, wenn das Dataset neu generiert wird.)
Tipp
Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen. Klicken Sie im Menü Extras auf Einstellungen importieren und exportieren, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen.
Zu den Aufgaben in dieser exemplarischen Vorgehensweise gehören:
Erstellen eines neuen Windows-Anwendung-Projekts.
Erstellen und Konfigurieren eines Datasets mithilfe von Assistent zum Konfigurieren von Datenquellen.
Auswählen des Steuerelements, das für das Formular erstellt werden soll, wenn Elemente aus dem Datenquellenfenster gezogen werden. Weitere Informationen finden Sie unter Gewusst wie: Festlegen des Steuerelements, das beim Ziehen aus dem Datenquellenfenster erstellt werden soll.
Erstellen eines datengebundenen Steuerelements durch Ziehen von Elementen aus dem Datenquellenfenster auf das Formular.
Erstellen einer partiellen Klasse zum Erweitern der Funktionen des Datasets.
Erstellen eines Ereignishandlers für das ColumnChanging-Ereignis der OrderDetails-Tabelle.
Hinzufügen einer Validierung, die überprüft, ob die Spalte Quantity Werte größer als 0 (null) enthält.
Anzeigen einer ErrorProvider-Komponente (Windows Forms), um Benutzer darüber zu informieren, dass ein datengebundenes Steuerelement ungültige Werte enthält.
Vorbereitungsmaßnahmen
Für die Durchführung dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:
- Zugriff auf die Beispieldatenbank Northwind. Weitere Informationen finden Sie unter Gewusst wie: Installieren von Beispieldatenbanken.
Erstellen einer neuen Windows-Anwendung.
So erstellen Sie das neue Windows-Anwendungsprojekt
Erstellen Sie im Menü Datei ein neues Projekt.
Nennen Sie das Projekt ValidationWalkthrough.
Wählen Sie Windows-Anwendung aus, und klicken Sie auf OK. Weitere Informationen finden Sie unter Erstellen von Windows-basierten Anwendungen.
Das Projekt ValidationWalkthrough wird erstellt und dem Projektmappen-Explorer hinzugefügt.
Erstellen einer neuen Datenquelle aus einer Datenbank
So erstellen Sie die Datenquelle
Klicken Sie im Menü Daten auf Datenquellen anzeigen.
Wählen Sie im Datenquellenfenster die Option Neue Datenquelle hinzufügen aus, um den Assistenten zum Konfigurieren von Datenquellen zu starten.
Wählen Sie auf der Seite Datenquellentyp auswählen die Option Datenbank aus, und klicken Sie auf Weiter.
Führen Sie auf der Seite Wählen Sie Ihre Datenverbindung einen der folgenden Schritte aus:
Wenn eine Datenverbindung zur Beispieldatenbank Northwind in der Dropdownliste verfügbar ist, wählen Sie sie aus.
– oder –
Wählen Sie Neue Verbindung, um das Dialogfeld Verbindung hinzufügen/ändern zu öffnen. Weitere Informationen finden Sie unter Dialogfeld "Verbindung hinzufügen/ändern" (Allgemein).
Falls die Datenbank ein Kennwort erfordern sollte, aktivieren Sie die Option für die Einbeziehung vertraulicher Daten, und klicken Sie dann auf Weiter.
Klicken Sie auf der Seite Verbindungszeichenfolge in der Programmkonfigurationsdatei speichern auf Weiter.
Erweitern Sie auf der Seite Datenbankobjekte auswählen den Knoten Tabellen.
Wählen Sie die Tabelle Order Details aus, und klicken Sie dann auf Fertig stellen.
Das NorthwindDataSet wird dem Projekt hinzugefügt, und die Tabelle OrderDetails wird im Datenquellenfenster angezeigt.
Erstellen datengebundener Steuerelemente
So erstellen Sie datengebundene Steuerelemente auf dem Formular
Wählen Sie im Datenquellenfenster die Tabelle Order Details aus.
Wählen Sie aus der Steuerelementliste der Tabelle die Option Details aus.
Ziehen Sie den Knoten Order Details aus dem Datenquellenfenster auf Form1.
Auf dem Formular werden datengebundene Steuerelemente mit beschreibenden Bezeichnungen sowie ein Toolstrip (BindingNavigator) für die Navigation in den Datensätzen angezeigt. Auf dem Formular werden datengebundene Steuerelemente mit beschreibenden Bezeichnungen sowie ein Toolstrip (BindingNavigator) für die Navigation in den Datensätzen angezeigt. Auf der Komponentenleiste werden jeweils ein NorthwindDataset, Order_DetailsTableAdapter, BindingSource und BindingNavigator angezeigt.
Hinzufügen eines ErrorProvider-Steuerelements zum Formular
So konfigurieren Sie ein ErrorProvider-Steuerelement
Ziehen Sie ein ErrorProvider aus der Toolbox auf Form1.
Legen Sie im Eigenschaftenfenster die DataSource-Eigenschaft des ErrorProvider auf Order_DetailsBindingSource fest.
Tipp
Legen Sie die DataMember-Eigenschaft nicht fest.
Erstellen des ColumnChanging-Ereignishandlers
So erstellen Sie die Validierungsereignishandler
Öffnen Sie das NorthwindDataSet im DataSet-Designer, indem Sie im Projektmappen-Explorer auf die Datei NorthwindDataSet.xsd doppelklicken.
Doppelklicken Sie in der Tabelle OrderDetails auf die Spalte Quantity, um den OrderDetailsDataTable_ColumnChanging-Ereignishandler zu erstellen. (In C# wird nur die partielle Klasse der Datentabelle erstellt.)
Tipp
Beim Doppelklicken auf den Tabellennamen (Order Details in der Titelleiste) wird ein Handler für das RowChanging-Ereignis erstellt.
Fügen Sie Code hinzu, um zu überprüfen, ob e.ProposedValue Werte größer 0 enthält. Wenn der vorgeschlagene Wert 0 oder weniger ist, legen Sie für die Spalte fest, dass sie einen Fehler enthält.
Fügen Sie den folgenden Code im column-changing-Ereignishandler unter dem Kommentar Add user code here ein:
If CType(e.ProposedValue, Short) <= 0 Then e.Row.SetColumnError(e.Column, "Quantity must be greater than 0") Else e.Row.SetColumnError(e.Column, "") End If
// C# // Add the following code // to the partial class. public override void EndInit() { base.EndInit(); Order_DetailsRowChanging += TestRowChangeEvent; } public void TestRowChangeEvent(object sender, Order_DetailsRowChangeEvent e) { if ((short)e.Row.Quantity <= 0) { e.Row.SetColumnError("Quantity", "Quantity must be greater than 0"); } else { e.Row.SetColumnError("Quantity", ""); } }
Testen der Anwendung
So testen Sie die Anwendung
Drücken Sie F5, um die Anwendung auszuführen.
Ändern Sie den Wert im Textfeld Quantity in 0 (null).
Drücken Sie die TAB-Taste, um den Fokus aus dem Textfeld zu verschieben.
Das ErrorProvider-Symbol wird angezeigt.
Positionieren Sie den Mauszeiger über dem ErrorProvider-Symbol, um die Meldung anzuzeigen.
Nächste Schritte
Nach dem Hinzufügen einer Validierung sollten Sie, je nach den Anforderungen der Anwendung, einen der folgenden Schritte ausführen. Sie können an dieser exemplarischen Vorgehensweise beispielsweise folgende Verbesserungen vornehmen:
Hinzufügen einer Funktion zum Zurücksenden von Aktualisierungen an die Datenbank. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Speichern von Daten in einer Datenbank (eine Tabelle).
Hinzufügen oder Entfernen von Datenbankobjekten aus dem Dataset durch Bearbeiten. Weitere Informationen finden Sie unter Gewusst wie: Bearbeiten eines Datasets.
Siehe auch
Konzepte
Neues in der Datenanwendungsentwicklung
Binden von Windows Forms-Steuerelementen an Daten in Visual Studio
Binden von Steuerelementen an Daten in Visual Studio
Weitere Ressourcen
Exemplarische Vorgehensweisen zur Arbeit mit Daten
Herstellen von Datenverbindungen in Visual Studio
Vorbereiten der Anwendung auf den Empfang von Daten
Abrufen von Daten für die Anwendung