Determining Merge Errors in a Typed DataSet

Determining Merge Errors in a Typed DataSet

Merging typed DataSets can cause a “Merge Constraint” error, which explains the problem, but doesn’t help much in solving it. Here’s how to find the exact cause of the error:

try{   //set Constrainsts check to false, so that the merge is fast.   datasetOne.EnableConstraints = false;   dbHelper.ExecuteDataSet(datasetOne, "dsOne", "spname");   //Any error on merge will be caugt below   datasetOne.Merge(datasetTwo);   //set constrainsts check to true, so that we catch the exact error.   datasetOne.EnableConstrainst = true;}catch (System.Data.DataException de){   foreach (DataTable table in datasetOne.Tables)   {      foreach (DataRow row in table.GetErrors())      {         foreach (DataColumn column in row.GetColumnsInError())         {            //loop through each column in the row that has caused the error            //during the bind and show it.            string ErrorMessage = string.Format(               "datasetOne bind failed due to Error : {0}"               , row.GetColumnError(column));            DataException dataException = new DataException(ErrorMessage, de);            throw dataException;         }      }   }}


Share the Post: