Database Audit
Can use the datatables used with datadapters to keep track of changes done through the program. DataTables keep track of changes in the data. This can be used to update an audit table. Both the tracking/audit and program changes are done in the same transaction.