I'm using the Enterprise WSDL in .NET and trying to run
binding.update(sObject) on an Account record that I previously loaded through the SOAP client. Basically, I'm comparing and setting values on the
sObject and then hitting update.
For some reason, if the field being updated doesn't currently have a value in Salesforce, the update call does not add a value. If I log into Salesforce and set a value first (e.g. set it to 0) then the exact same code updates the field correctly.
As far as I can tell this is only happening with custom fields that are numbers or dates, not strings (I can't cleanly verify if this is restricted to custom fields).
I'm pretty new to Salesforce so please let me know if there's an obvious detail I should have included.