Vous pouvez créer un objet SqlCeCommandBuilder pour générer automatiquement des instructions Transact-SQL pour des mises à jour de table simple si vous définissez la propriété SelectCommand.
SqlCeCommandBuilder s'inscrit comme écouteur des événements RowUpdating si vous définissez la propriété DataAdapter. Vous ne pouvez associer qu'un objet SqlCeDataAdapter ou SqlCeCommandBuilder à l'autre simultanément.
Pour générer des instructions INSERT, UPDATE ou DELETE, SqlCeCommandBuilder utilise la propriété SelectCommand pour récupérer automatiquement un jeu de métadonnées requis. Si vous modifiez SelectCommand une fois les métadonnées récupérées (par exemple, après la première mise à jour), vous devez appeler la méthode RefreshSchema()()() pour mettre à jour les métadonnées.
SelectCommand doit également retourner au moins une colonne de clés primaires ou unique. Sinon, une exception InvalidOperation est générée et les commandes ne sont pas générées.
SqlCeCommandBuilder utilise aussi les propriétés Connection et Transaction référencées par SelectCommand. Vous devez appeler RefreshSchema()()() en cas de modification d'une de ces propriétés, ou si le SelectCommand proprement dit est remplacé. Sinon, les propriétés InsertCommand, UpdateCommand et DeleteCommand conservent leurs valeurs précédentes.
Si vous appelez Dispose()()(), SqlCeCommandBuilder est dissocié de SqlCeDataAdapter, et les commandes générées ne sont plus utilisées.