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("&", "&"); 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