How will I know when to use CommandBuilder or not?
The data access requirements must correspond to the single-table limitation, the unique column or primary key requirement along with no related table functionality that could cause data update discrepancies (like foreign key constraints, and so on). If you have met this criteria, save yourself a bunch of coding and use CommandBuilder !
Do I do the same type of coding for the SqlDataAdapter that I would do for the OleDbDataAdapter ?
Yes! There is basically no difference in the coding approach for either DataAdapter . Both can use the CommandBuilder capability.
What if I don't refresh the SELECT statement's metadata when the statement is changed?
Unpredictable results will occur. Very often you will see the error of a new referenced column is not available. Be sure to refresh the metadata after any SELECT statement change!