Problem beim füllen eines DataSets: Failed to enable constraints

Folgende Fehlermeldung hat mir viel Zeit und Nerven geraubt: "Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints." Leider gibt es keine weiteren brauchbaren Angaben dazu. Wenn man rausfinden will, was den Fehler verursacht muss man selber Hand anlegen.

In meinem Fall hat ein Nullwert den Fehler verursacht. Das DataSet wurde aber trotzdem befüllt und funktionierte einwandfrei...

Folgende C# Methode gibt detailierte Angaben zum Fehler mittels Trace aus. Die Methode habe ich aus Dave Lloyd's Blog entnommen und nach C# convertiert (bevor ich festgestellt habe, dass das bereits jemand im Feedback gemacht hat - aber heute ist ja Freitag):

public

static void GetDataSetErrors(System.Data.DataSet ds)
 {
 try
 {
  ds.EnforceConstraints =
true;
 }
 catch (Exception ex)
 {
  Debug.WriteLine(
"DataSet errors: " + ds.DataSetName);
  foreach (DataTable table in ds.Tables)
   {
   DataRow[] ErrorRows;
   ErrorRows = table.GetErrors();
   foreach (DataRow row in ErrorRows)
    {
    Debug.WriteLine(
"Table: " + table.TableName);
    Debug.WriteLine(
" Row Error: " + row.RowError);
    DataColumn[] ErrorColumns;
    ErrorColumns = row.GetColumnsInError();
    foreach (DataColumn column in ErrorColumns)
     {
     Debug.WriteLine(
"Column: " + column.ColumnName);
     Debug.WriteLine(
" Error: " + row.GetColumnError(column));
     }
    }
   }
  }
 }

Print | posted @ Friday, October 08, 2004 10:20 AM