Tout d'abord, cette ligne n'est pas nécessaire :
gdaMyDataAdapter.UpdateCommand = MyCommandBuilder.GetUpdateCommand (vrai)
… qui est parce que le le SqlCommandBuilder prend le SelectCommand courant du DataAdapter qui lui est passé pour produire de l'InsertCommand, du DeleteCommand, et de l'UpdateCommand required. Puisque le DataAdapter a été passé par la référence, les changements ont fait à l'intérieur du CommandBuilder sont maintenant évidents au reste du programme.
De même ce qui suit n'est pas nécessaire :
MyCommandBuilder.GetUpdateCommand ()
'En-dessous de deux appels sembler ne faire RIEN.
MyCommandBuilder.GetDeleteCommand ()
MyCommandBuilder.GetInsertCommand ()
… pour la même raison. Vous passez le DataAdpater au constructeur du CommandBuilder, et toutes les commandes required sont automagically placées à l'intérieur du CommandBuilder.