Quantcast
Channel: SharePoint 2010 - Development and Programming forum
Viewing all articles
Browse latest Browse all 11571

ProcessBatchData - Fetching the error rows

$
0
0

Hi,

I am using the ProcessBatchData to insert multiple records.

In the Batch XML, I have added "OnError = continue".

I am using the below code:

   private readonly string BatchXMLBanner ="<?xml version=\"1.0\" encoding=\"UTF-8\"?><ows:Batch OnError=\"Continue\">{0}</ows:Batch>";

        private readonly string BatchXMLMethod =
        "<Method ID=\"{0}\"><SetList>{1}</SetList><SetVar Name=\"ID\">New</SetVar><SetVar Name=\"Cmd\">Save</SetVar>{2}</Method>";
        private readonly string BatchXMLSetVar ="<SetVar Name=\"urn:schemas-microsoft-com:office:office#{0}\">{1}</SetVar>";

string Batch = buildBatch(dt, listID);
string BatchReturn = oWeb.ProcessBatchData(Batch);

 private string buildBatch(DataTable dataTable, Guid guid)
        {
            StringBuilder XMLSetVarLines = new StringBuilder();
            StringBuilder XMLSetMethods = new StringBuilder();

int methodID = 0;
         
            foreach (DataRow row in dataTable.Rows)
            {
                foreach (DataColumn column in dataTable.Columns)
                {
                    var fieldname = column.ColumnName;
                    if (row[fieldname] != null)
                    {
                        if (!string.IsNullOrEmpty(row[fieldname].ToString()))
                        {
 var fieldvalue = row[fieldname].ToString().Replace("&", "&amp");
XMLSetVarLines.Append(String.Format(BatchXMLSetVar, fieldname, fieldvalue));
                        }
                    }
                }

                XMLSetMethods.Append(String.Format(BatchXMLMethod, methodID, guid, XMLSetVarLines));

                methodID++;

                XMLSetVarLines.Length = 0;
            }
return (String.Format(BatchXMLBanner, XMLSetMethods));
        }

In the resultant xml, I get the below:

<Results><Result ID="0" Code="-2130575332"><ErrorText>Invalid date/time value.

A date/time field contains invalid data. Please check the value and try again.</ErrorText></Result>
...</Results>

After the batchdata is processed, how to identify how many rows failed and how to show that in datatable?

Thanks


Viewing all articles
Browse latest Browse all 11571

Trending Articles