Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: .NET
Expertise: Intermediate
Aug 11, 2009

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;
         }
      }
   }
}
Srinath MS
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap