0 votes

Mise à jour de SqlDataAdapter

Quelqu'un peut-il m'aider à comprendre pourquoi cette erreur se produit lorsque j'effectue une mise à jour à l'aide de sqlDataadapter avec une requête jointe ?

La génération de SQL dynamique n'est pas prise en charge pour les tables de base multiples.

0voto

Carter Points 3877

Vous avez une "jointure" dans votre requête principale pour votre ensemble de données (la première dans le TableAdapter avec un contrôle par celui-ci). Vous ne pouvez pas générer automatiquement une logique d'insertion/mise à jour/suppression pour un TableAdapter lorsque la requête principale comporte plusieurs tables référencées dans la requête via une jointure. Le concepteur n'est pas assez intelligent pour déterminer à quelle table vous voulez envoyer les mises à jour dans ce cas, c'est pourquoi vous obtenez le message d'erreur.

Solution. Assurez-vous que votre requête principale ne fait référence qu'à la table pour laquelle vous voulez que le concepteur écrive du code d'insertion/mise à jour/suppression. Vos requêtes secondaires peuvent faire référence à autant de tables que vous le souhaitez.

0voto

KoolKabin Points 3645

C'était dans le cas où j'essayais de définir la valeur d'une colonne d'identité dans mon tableau de données. J'ai simplement supprimé le code pour définir la valeur de la colonne d'identité et cela fonctionne.

Mon scénario :

Base de données : uin [primaire, identité] nom adresse

Chaque fois que j'ai essayé de définir le datarow("uin") l'erreur se produit. Mais cela fonctionne bien avec datarow("name") et datarow("address").

J'espère que cela fonctionnera pour vous aussi

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X