J'affiche des données en provenance de SqlServer dans une DataGridView.
Pour cela, j'utilise un SqlCommandBuilder qui me fabrique les requêtes
Update, Insert et Delete à partir de la requête Select que je lui
donne.
Le problème est que quand je demande d'afficher une table sans clef
primaire, le SqlCommandBuilder ne sait pas générer les requêtes Update,
Insert et Delete et l'affichage est donc impossible.
Y a t-il un moyen de contourner ?
Pour info, mes tables sans clef primaire sont des tables de liaison NxN
entre deux tables de données, et qui comportent 2 colonne (un Id
provenant de la première table et un Id provenant de la seconde).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrice
Bonjour,
Par principe, une table sans clé primaire ne peut pas être mise à jour (il n'est pas possible d'identifier une ligne en particulier).
Je vois : - ajouter une contrainte clé primaire sur le couple (id1, id2). - ajouter une colonne (par exemple identity) qui servira uniquement de clé primaire - ou générer soit même l'instruction update voulue
-- Patrice
"The Best Poster" a écrit dans le message de groupe de discussion : hn5se5$r0h$
Bonjour,
J'affiche des données en provenance de SqlServer dans une DataGridView. Pour cela, j'utilise un SqlCommandBuilder qui me fabrique les requêtes Update, Insert et Delete à partir de la requête Select que je lui donne.
Le problème est que quand je demande d'afficher une table sans clef primaire, le SqlCommandBuilder ne sait pas générer les requêtes Update, Insert et Delete et l'affichage est donc impossible.
Y a t-il un moyen de contourner ?
Pour info, mes tables sans clef primaire sont des tables de liaison NxN entre deux tables de données, et qui comportent 2 colonne (un Id provenant de la première table et un Id provenant de la seconde).
Merci.
Bonjour,
Par principe, une table sans clé primaire ne peut pas être mise à jour (il
n'est pas possible d'identifier une ligne en particulier).
Je vois :
- ajouter une contrainte clé primaire sur le couple (id1, id2).
- ajouter une colonne (par exemple identity) qui servira uniquement de clé
primaire
- ou générer soit même l'instruction update voulue
--
Patrice
"The Best Poster" <no_mail@no_mail.invalid> a écrit dans le message de
groupe de discussion : hn5se5$r0h$1@speranza.aioe.org...
Bonjour,
J'affiche des données en provenance de SqlServer dans une DataGridView.
Pour cela, j'utilise un SqlCommandBuilder qui me fabrique les requêtes
Update, Insert et Delete à partir de la requête Select que je lui donne.
Le problème est que quand je demande d'afficher une table sans clef
primaire, le SqlCommandBuilder ne sait pas générer les requêtes Update,
Insert et Delete et l'affichage est donc impossible.
Y a t-il un moyen de contourner ?
Pour info, mes tables sans clef primaire sont des tables de liaison NxN
entre deux tables de données, et qui comportent 2 colonne (un Id provenant
de la première table et un Id provenant de la seconde).
Par principe, une table sans clé primaire ne peut pas être mise à jour (il n'est pas possible d'identifier une ligne en particulier).
Je vois : - ajouter une contrainte clé primaire sur le couple (id1, id2). - ajouter une colonne (par exemple identity) qui servira uniquement de clé primaire - ou générer soit même l'instruction update voulue
-- Patrice
"The Best Poster" a écrit dans le message de groupe de discussion : hn5se5$r0h$
Bonjour,
J'affiche des données en provenance de SqlServer dans une DataGridView. Pour cela, j'utilise un SqlCommandBuilder qui me fabrique les requêtes Update, Insert et Delete à partir de la requête Select que je lui donne.
Le problème est que quand je demande d'afficher une table sans clef primaire, le SqlCommandBuilder ne sait pas générer les requêtes Update, Insert et Delete et l'affichage est donc impossible.
Y a t-il un moyen de contourner ?
Pour info, mes tables sans clef primaire sont des tables de liaison NxN entre deux tables de données, et qui comportent 2 colonne (un Id provenant de la première table et un Id provenant de la seconde).