Dans une application Winform, j'acc=E8de =E0 une base Access avec un=20
DataGridView.
A c=F4t=E9 de ce DataGridView, sur l'enregistrement s=E9lectionn=E9, je c=
r=E9e une=20
requ=EAte update (pour rectifier un champ de clef, voir fil pr=E9c=E9dent=
), et=20
je l'ex=E9cute avec une oledbConnection.
Tant que mon application est ouverte, m=EAme apr=E8s avoir ferm=E9 le=20
formulaire, la valeur est bien corrig=E9e, =E7a baigne.
Patatras, d=E8s que j'ai ferm=E9 l'application, =E0 l'utilisation suivant=
e, le=20
champ a repris la valeur qu'il avait avant.
Il manque une validation quelque part, j'h=E9site =E0 dire o=F9 ...
command.UpdatedRowSource =3D UpdateRowSource.Both;
// avant d'ouvrir la connection
J'ai aussi essay=E9 avec une transaction, mais curieusement, ce que je=20
comprends du texte de l'erreur est qu'on ne peut ouvrir une transaction=20
que si il y en a d=E9j=E0 une en cours, alors que je me serais na=EFvemen=
t=20
repr=E9sent=E9 l'inverse.
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
Gloops
Ici, c'est une validation en trop, qu'il y a eu ; mais sur le post. :)
=> poubelle
Gloops a écrit, le 10/08/2009 17:23 :
Bonjour tout le monde,
Dans une application Winform, j'accède à une base Access avec un DataGridView.
A côté de ce DataGridView, sur l'enregistrement sélectionné, je crée une requête update (pour rectifier un champ de clef, voir fil précéde nt), et je l'exécute avec une oledbConnection.
Tant que mon application est ouverte, même après avoir fermé le formulaire, la valeur est bien corrigée, ça baigne.
Patatras, dès que j'ai fermé l'application, à l'utilisation suiva nte, le champ a repris la valeur qu'il avait avant.
Il manque une validation quelque part, j'hésite à dire où ...
command.UpdatedRowSource = UpdateRowSource.Both; // avant d'ouvrir la connection
J'ai aussi essayé avec une transaction, mais curieusement, ce que je comprends du texte de l'erreur est qu'on ne peut ouvrir une transaction que si il y en a déjà une en cours, alors que je me serais naïvem ent représenté l'inverse.
code :
Ici, c'est une validation en trop, qu'il y a eu ; mais sur le post. :)
=> poubelle
Gloops a écrit, le 10/08/2009 17:23 :
Bonjour tout le monde,
Dans une application Winform, j'accède à une base Access avec un
DataGridView.
A côté de ce DataGridView, sur l'enregistrement sélectionné, je crée une
requête update (pour rectifier un champ de clef, voir fil précéde nt), et
je l'exécute avec une oledbConnection.
Tant que mon application est ouverte, même après avoir fermé le
formulaire, la valeur est bien corrigée, ça baigne.
Patatras, dès que j'ai fermé l'application, à l'utilisation suiva nte, le
champ a repris la valeur qu'il avait avant.
Il manque une validation quelque part, j'hésite à dire où ...
command.UpdatedRowSource = UpdateRowSource.Both;
// avant d'ouvrir la connection
J'ai aussi essayé avec une transaction, mais curieusement, ce que je
comprends du texte de l'erreur est qu'on ne peut ouvrir une transaction
que si il y en a déjà une en cours, alors que je me serais naïvem ent
représenté l'inverse.
Ici, c'est une validation en trop, qu'il y a eu ; mais sur le post. :)
=> poubelle
Gloops a écrit, le 10/08/2009 17:23 :
Bonjour tout le monde,
Dans une application Winform, j'accède à une base Access avec un DataGridView.
A côté de ce DataGridView, sur l'enregistrement sélectionné, je crée une requête update (pour rectifier un champ de clef, voir fil précéde nt), et je l'exécute avec une oledbConnection.
Tant que mon application est ouverte, même après avoir fermé le formulaire, la valeur est bien corrigée, ça baigne.
Patatras, dès que j'ai fermé l'application, à l'utilisation suiva nte, le champ a repris la valeur qu'il avait avant.
Il manque une validation quelque part, j'hésite à dire où ...
command.UpdatedRowSource = UpdateRowSource.Both; // avant d'ouvrir la connection
J'ai aussi essayé avec une transaction, mais curieusement, ce que je comprends du texte de l'erreur est qu'on ne peut ouvrir une transaction que si il y en a déjà une en cours, alors que je me serais naïvem ent représenté l'inverse.