Yes. You can (if you're lazy) drop a control on a form and let the user put any damned thing in it they want and it goes right to your table. Swell. You don't control when the write happens (that's up to the "neat" code contained in the control) and you have very fscking limited ability to restrict what they put in your table. Yeah, yeah, you've got a "rule" and a trigger, maybe - if you're not using Paradox or some other braindead little desktop "database".

NOT TO MENTION the performance hit. How many temporary stored procedures are generated when you use bound controls? How about one for every column you're updating on your "bound control" form. And what does the user have to have to use that bound control? Fscking Update permissions on the table! What happens when they connect to your database with Excel and decide to use Excel to update your data? They can because you gave them update permissions. That is the point. If you use stored procedures ONLY for insert/update/delete, then you know how your data changed regardless of whether your "bound control" app did it or Excel did it. Moreover, the average user here (YMMV) can hook up a table to XL, Access, etc. But most of them don't know how to populate parameters of a stored procedure for an insert/update/delete operation. Thus, your data is even more secure.

As far as "using local data" YOU brought that up! I don't do that as I said.