Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Manque validation

1 réponse
Avatar
Gloops
Bonjour tout le monde,

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 ...

J'ai essay=E9
=20
dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);

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.

code :

1 réponse

Avatar
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ù ...

J'ai essayé

dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);

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 :