Was löst ConstraintException beim Laden von DataSet aus?
Wie finde ich heraus, welche Spalte und Wert ist, gegen die Einschränkung? Die exception message ist nicht hilfreich bei allen:
Fehler beim aktivieren von Einschränkungen. Ein oder
mehr Zeilen enthalten Werte verletzen
nicht-null -, unique-oder foreign-key
- Einschränkungen.
InformationsquelleAutor der Frage Dala | 2008-09-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist eine Eigenschaft RowError Sie überprüfen können.
Sehen http://dotnetdebug.net/2006/07/16/constraintexception-a-helpful-tip/
Bearbeitet, um hinzufügen dieser link zeigt iteration der Zeilen, um zu sehen, welche Fehler aufgetreten sind.
http://www.devnewsgroups.net/group/microsoft.public.dotnet.framework.adonet/topic58812.aspx
InformationsquelleAutor der Antwort Nikki9696
Wie viele Menschen, habe ich meine eigenen standard data access-Komponenten, die umfassen Methoden zum zurückgeben eines Datasets. Natürlich, wenn ein ConstraintException geworfen wird, wird der Datensatz nicht an den Aufrufer zurückgegeben, damit der Aufrufer kann nicht überprüfen, für Zeile Fehler.
Was ich getan habe, ist fangen und rethrow ConstraintException in solchen Methoden, die Protokollierung der Zeile error details, wie im folgenden Beispiel (die verwendet Log4Net für die Anmeldung):
InformationsquelleAutor der Antwort Joe
Wenn Sie ein stark typisiertes dataset und verwendet den visual designer (xsd): Zugriff auf tbl.Zeilen[0].RowError Informationen, die Sie brauchen, um das Füllen Methode.
Du nicht verwenden können, die Bekommen Methode, da die DataTable instanziert ist im generierten code.
InformationsquelleAutor der Antwort doekman
Ich noch ein paar Codes, die ich gefunden habe, um nützlich zu sein im debugging-ConstraintException vorkommen hier
Hoffe, das hilft.
InformationsquelleAutor der Antwort Jonathan Webb
Für die Googler, die wollen, ein snippet, um mehr details auf die ConstraintException:
InformationsquelleAutor der Antwort Olivier de Rivoyre