En primer lugar, esta línea no es necesaria:
gdaMyDataAdapter.UpdateCommand = MyCommandBuilder.GetUpdateCommand (verdad)
… que es porque el SqlCommandBuilder toma el SelectCommand actual del DataAdapter que se pasa él para generar el InsertCommand, el DeleteCommand, y el UpdateCommand required. Puesto que el DataAdapter fue pasado por la referencia, los cambios hicieron dentro del CommandBuilder son visibles ahora al resto del programa.
Asimismo los siguientes no son necesarios:
MyCommandBuilder.GetUpdateCommand ()
'Debajo de dos llamadas parecer no hacer NADA.
MyCommandBuilder.GetDeleteCommand ()
MyCommandBuilder.GetInsertCommand ()
… por la misma razón. Usted pasa el DataAdpater al constructor del CommandBuilder, y todos los comandos required automagically se fijan dentro del CommandBuilder.