|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Développeur .NET Inscription : janvier 2004 Messages : 82 ![]() |
Bonjour,
J'ai Table1 contenant les champs - Champ1 - ... - Champ999 - TraceDateDerniereMiseAJourEnregistrement - TraceLogginAyantFaitLaDernièreMiseAJour J'espère être clair dans mes noms de champs! L'utilisateur se logue à mon application. Dans une windows form il navigue (bindingnavigator) sur tous les enregistrements de Table1. Je veux pour tout enregistrement modifié, modifier automatiquement les champs de 'trace'. Sur le Windows form j'ai un dataset et un bindingsource. Puis-je faire cela directement dans une partie code du dataset (comme je peux le faire en entity framework)? Sinon, sur quel évènement du bindingsource (ou du dataset) puis-je mettre un bout de code pour être sûr qu'il ne s'exécutera QUE lorsque l'utilisateur aura modifié un enregistrement. J'ai essayé sur le bindingSource curentItemChanged, CurrentChanged, ListChanged mais ces évènement sont levés même si je ne modifie pas d'enregistrement... Merci de m'aiguiller vers LA solution parfaite qui me ferait gagner du temps. Laumon. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Consultant informatique Inscription : février 2006 Messages : 730 ![]() |
Bonjour,
Il n'y a pas de solution parfaite, il n'y a que des solutions adaptées à tes besoins. Une solution serait un trigger en base de données sur ta table. Bon dév.
__________________
Un âne se croit savant parce qu'on le charge de livres (proverbe américain) N'oubliez pas de avant de ![]() Pas de question techniques par MP, c'est contre la philosophie du forum
|
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Développeur .NET Inscription : janvier 2004 Messages : 82 ![]() |
Le trigger passerait pour la date, mais le login utilisateur est dans l'application. C'est à ce niveau que je bloque et c'est pourquoi je souhaite gérer ça dans l'application.
Laumon. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Consultant informatique Inscription : février 2006 Messages : 730 ![]() |
Tu as une propriété HasChanges() sur le dataset et ensuite GetChanges() pour récupérer les modifications.
__________________
Un âne se croit savant parce qu'on le charge de livres (proverbe américain) N'oubliez pas de avant de ![]() Pas de question techniques par MP, c'est contre la philosophie du forum
|
|
|
10
|
|
|
#5 | ||
|
Membre du Club
![]() Développeur .NET Inscription : janvier 2004 Messages : 82 ![]() |
Bien, bien, bien...
Alors en m'inspirant de l'excellent conseil de sisqo60 ( +1 pour toi ) j'ai créé une petite void de trace appelée avec un dataset et un nom de table. Je définis toujours mes champs de trace avec les mêmes noms (DateCre, DateMaj, Utilisateur). Ci-dessous le code que ça donne. Code :
Je ne sais pas qu'est-ce qui est le plus rapide. Je suppose que (pour mes données) le parcours d'un dataset en mémoire est moins consommateur en temps qu'une relecture des données en base. J'ai donc opté pour la solution que je vous présente ici. Laumon. |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com