![](https://images.cnblogs.com/cnblogs_com/neozhu/ex12.png)
When click save button submit to change,trace store beforeStoreChanged eventHandler data no problem.
But when store beforerecordInserted event handler new values changed empty string, when AfterInserted throw exception;
Now I solve the problem changed Source Code file Store.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | private void MakeInsertes(IDataSource ds, XmlDocument xml) { XmlNodeList insertingRecords = xml.SelectNodes("records/Created/record"); string id = GetIdColumnName(); foreach (XmlNode node in insertingRecords) { record = node; values = new SortedList(this.Reader.Reader.Fields.Count); keys = new SortedList(); oldValues = new SortedList(); foreach (RecordField field in this.Reader.Reader.Fields) { //modify by neo date:2011/6/9 emptystring convert to null XmlNode keyNode = node.SelectSingleNode(field.Name); if (String.IsNullOrEmpty(keyNode.InnerText)) values[field.Name] = null; else values[field.Name] = keyNode != null ? keyNode.InnerText : null; } …………… |
I don't know that there are no other better solutions,So I hope to have your support