I know that I can update my ECT record (using InfoPath forms I created for the external lists), by passing the BdcIdentity (ID) to the form and it will find that record and enable me to edit.

How do I edit a record without the BdcIdentity ID. Say I know some of the other IDs I need to uniquely identify a record. EG, MyID=1

How can I get the infopath form to retreive the record where column MyID=1?? so I can update.

thanks, KS



For this I usually write a WCF Web Service which accepts ID and returns data accordingly, populate them on form for user to edit and on submit call the web service again to update to datasource!

You can directly update to the data source you are using like SQL Server or using SharePoint Object Model for BDCIdentity!

If there exist any better solution than this, I would also like to know :)

  • Thanks for your response. Seems a bit long winded but I guess if that is the only way.... so you create a webservice project from scratch and code methods to get data from and update the database?
    – Perplexed
    Jan 17 '13 at 14:40
  • Exactly, at least that is the only way I know! Lets wait until some other professionals view your question, maybe we find a better solution to this :) Jan 17 '13 at 15:22

I figured this out in the end after playing with the ECT Operations. You have to ensure that the Read Item, Read List and Update operations all take the same parameters and that the Read Item and Read List return the same columns.

After setting the above up you can use the BdcIdentity (which is a composition of all the input parameters) to update the External List data.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.