about store RecordField submit emptystring issue

本文针对在数据插入过程中遇到的异常情况进行了解析,并分享了一种解决方案。通过对源代码的修改,将空字符串转换为null值,从而避免了在插入新记录时触发异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



operate screenshot

 

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

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值