>So you form a client-side Update command and send it for each row that has changed?
That is much harder to do that.
From client side you know what has changed, so only that back to your DAL. The DAL knows what Table / SP by object name that you pass back. It picks up the changed rows and the inserts and should do it. {after you write that part}