When updating or inserting a number type, currency type and date/datetime type field, there is an boolean attribute needs to be set other than just setting the value of the number type, currency type and date/datetime type field.
clientForUpdate.Usage_Balance__c = Convert.ToDouble(txtBalance.Text.ToString());
clientForUpdate.Usage_Balance__cSpecified
= true
;
Related posts:
http://community.salesforce.com/t5/NET-Development/Why-is-my-date-number-boolean-being-ignored-for-create-and/m-p/4708
Reason and solution:
根本原因是因为.NET2.0下,不管你有没有赋值,如果不设置"xxxxSpecified"为true,.NET都会自动赋默认值,所以要specified,提醒.NET不要用默认值而用我们赋的值。
This doesn't apply to the Partner WSDL, only the enterprise WSDL. In the Partner WSDL you have direct control over the element in the request, via the Any property on the sObject.
http://www.pocketsoap.com/weblog/2004/07/1461.html
本文讨论了在.NET2.0环境下更新或插入数值类型、货币类型及日期/日期时间字段时遇到的问题。若不设置特定的布尔属性(如xxxxSpecified),.NET会自动为这些字段赋予默认值。文章强调了为了确保使用自定义值而非默认值,开发者必须明确设置这些布尔属性为true的重要性。
880

被折叠的 条评论
为什么被折叠?



