There are two levels at which you could possible do this; code or DB. The Db answer involves sending all the fields back one at a time and testing them with:
update table SET column1 = 'newvalue of textbox1' WHERE ID =@ID AND column1 <> 'newvalue of textbox1';
The code way requires the applicaiton to manage the lifecycle of the data and to 'know' when it needs refreshing. (Check out some articles on 'Unit of Work'). Essentially you would keep a list of the fields and whether they are 'dirty', that is contain new or updated information.