EnforceConstraints et débuggage

Si vous avez déjà travaillé avec des DataSet, vous avez sûrement déjà eu affaire à une exception indiquant qu’une contrainte d’intégrité n’était pas respectée.

Et comme l’exception ne dit pas quelle contrainte l’a levée, il est difficile de debugger ça.

Et là, j’ai trouvé le bout de code qui nous simplifie tous la vie :

try
{
    ds.EnforceConstraints = true;
}
catch (Exception ex)
{
    if (ds.HasErrors)
    {
        foreach (DataTable dt in ds.Tables)
	{
	    DataRow[] drs = dt.GetErrors();
            foreach(DataRow dr in drs)
            {
                foreach(DataColumn dc in dr.GetColumnsInError())
                {
                    Console.Write(dr.GetColumnError(dc));
                }
            }
	 }
     }
}

Ceci n’est pas de moi, je l’ai trouvé sur Stackoverflow mais je me suis dis que ça vous serais utile.

[Source]


Pas encore de commentaires

Laisser un commentaire