Problème affichage tables sans clef primaire

Le
The Best Poster
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrice
Le #21350341
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" 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.


Publicité
Poster une réponse
Anonyme