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
Jean-Marc
Hello,
c'est un problème difficile, qui en plus dépend (un peu) de la base de données. Si c'est toi qui décide du modèle de données, donc qui peut définir la structure des tables de la base, une bonne solution (qui a l'avanatage d'être générique) est de prévoir un champ supplémentaire "sentinelle" sur toutes tes tables. Dès q'un enregistrement est modifié ou supprimé ou créé, ce champ sentinelle prend une certaine valeur que tu peux détecter en faisant des queries à intervalle régulier depuis ton application VB.
Ce n'est pas génial, je sais, mais ce n'est pas évident de faire autrement. Une autre solution, si ta DB le supporte, est de créer des trigger sur chaque action (ajout, suppression, modification), ce trigger exécutant un statement SQL pour mettre à jour une table spéciale de surveillance. A ton application de faire des requêtes à intervalle régulier sur cette table pour ensuite faire l'action adéquate.
Rien de miraculeux, je sais, mais comme ça et sans autre détails, c'est ce qui me vient à l'esprit.
-- Jean-marc Tester mon serveur (VB6) => http://myjmnhome.dyndns.org "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
"infomaroc" a écrit dans le message de news:
salut svp jveux faire un traitement vb quand un changement quelquonque affecte
une
table! comment savoir si une table sql a changé?? merci
Hello,
c'est un problème difficile, qui en plus dépend (un peu) de la base de
données.
Si c'est toi qui décide du modèle de données, donc qui peut définir la
structure
des tables de la base, une bonne solution (qui a l'avanatage d'être
générique) est
de prévoir un champ supplémentaire "sentinelle" sur toutes tes tables.
Dès q'un enregistrement est modifié ou supprimé ou créé, ce champ sentinelle
prend une certaine valeur que tu peux détecter en faisant des queries à
intervalle
régulier depuis ton application VB.
Ce n'est pas génial, je sais, mais ce n'est pas évident de faire autrement.
Une autre
solution, si ta DB le supporte, est de créer des trigger sur chaque action
(ajout,
suppression, modification), ce trigger exécutant un statement SQL pour
mettre
à jour une table spéciale de surveillance. A ton application de faire des
requêtes
à intervalle régulier sur cette table pour ensuite faire l'action adéquate.
Rien de miraculeux, je sais, mais comme ça et sans autre détails, c'est ce
qui
me vient à l'esprit.
--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
"infomaroc" <r.khadija@gmail.com> a écrit dans le message de
news:98DDFF8E-710B-4E4E-8F78-F8D3706676D9@microsoft.com...
salut
svp jveux faire un traitement vb quand un changement quelquonque affecte
une
table! comment savoir si une table sql a changé??
merci
c'est un problème difficile, qui en plus dépend (un peu) de la base de données. Si c'est toi qui décide du modèle de données, donc qui peut définir la structure des tables de la base, une bonne solution (qui a l'avanatage d'être générique) est de prévoir un champ supplémentaire "sentinelle" sur toutes tes tables. Dès q'un enregistrement est modifié ou supprimé ou créé, ce champ sentinelle prend une certaine valeur que tu peux détecter en faisant des queries à intervalle régulier depuis ton application VB.
Ce n'est pas génial, je sais, mais ce n'est pas évident de faire autrement. Une autre solution, si ta DB le supporte, est de créer des trigger sur chaque action (ajout, suppression, modification), ce trigger exécutant un statement SQL pour mettre à jour une table spéciale de surveillance. A ton application de faire des requêtes à intervalle régulier sur cette table pour ensuite faire l'action adéquate.
Rien de miraculeux, je sais, mais comme ça et sans autre détails, c'est ce qui me vient à l'esprit.
-- Jean-marc Tester mon serveur (VB6) => http://myjmnhome.dyndns.org "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
"infomaroc" a écrit dans le message de news:
salut svp jveux faire un traitement vb quand un changement quelquonque affecte
une
table! comment savoir si une table sql a changé?? merci
infomaroc
merci! j'etais entrain de faire qq recherche et j'ai trouvé la solution des trigger, jpense que c la bonne! mais jsais pas comment le construire! l'ideé ke j'ai est la suivante:
creer un trigger ki verifie tt ltemps si les données de la table ont été modifiées, et si c le cas il insere dans une table ke je vais créer, le numero de la ligne ki a eté modifiée! de ma part, avec Vb, je consulte tt ltemps avec un timer cette table si jtrouve une valeur, donc jsais ke la table est modifiée et j'ai mm la ligne, jprend la valeur ke j'ai dans cette table et jefais un update et jla met a "0", donc si jconsulte une nouvelle fois et jtrouve un "0", ca veut dire ke le trigger n'est pas declenché donc la table n'a pas changé, etc.... cmt vous trouvez cette solution? et si elle est bonne, vous avez une idée sur comment créer ce trigger??? la syntaxe,etc.... merci
merci!
j'etais entrain de faire qq recherche et j'ai trouvé la solution des
trigger, jpense que c la bonne! mais jsais pas comment le construire! l'ideé
ke j'ai est la suivante:
creer un trigger ki verifie tt ltemps si les données de la table ont été
modifiées, et si c le cas il insere dans une table ke je vais créer, le
numero de la ligne ki a eté modifiée!
de ma part, avec Vb, je consulte tt ltemps avec un timer cette table si
jtrouve une valeur, donc jsais ke la table est modifiée et j'ai mm la ligne,
jprend la valeur ke j'ai dans cette table et jefais un update et jla met a
"0", donc si jconsulte une nouvelle fois et jtrouve un "0", ca veut dire ke
le trigger n'est pas declenché donc la table n'a pas changé, etc....
cmt vous trouvez cette solution? et si elle est bonne, vous avez une idée
sur comment créer ce trigger??? la syntaxe,etc....
merci
merci! j'etais entrain de faire qq recherche et j'ai trouvé la solution des trigger, jpense que c la bonne! mais jsais pas comment le construire! l'ideé ke j'ai est la suivante:
creer un trigger ki verifie tt ltemps si les données de la table ont été modifiées, et si c le cas il insere dans une table ke je vais créer, le numero de la ligne ki a eté modifiée! de ma part, avec Vb, je consulte tt ltemps avec un timer cette table si jtrouve une valeur, donc jsais ke la table est modifiée et j'ai mm la ligne, jprend la valeur ke j'ai dans cette table et jefais un update et jla met a "0", donc si jconsulte une nouvelle fois et jtrouve un "0", ca veut dire ke le trigger n'est pas declenché donc la table n'a pas changé, etc.... cmt vous trouvez cette solution? et si elle est bonne, vous avez une idée sur comment créer ce trigger??? la syntaxe,etc.... merci
Jean-Marc
Hello,
ca ne marche pas exactement comme ça. Un trigger est une fonctionnalité offerte par cetraines DB( Oracle, DB2). Cette fonctionalité permet de placer du code SQL qui s'exécute en fonction de certains évènements.
Ce que tu veux faire est différent: il s'agit de créer un programme externe dont le boulot consite à scruter à intervalle régulier une ou des tables pour vérifier si un changement à eu lieu.
C'est une bonne solution.
Cela implique dans la ou les tables de donnée un champ de controle avec des valeurs de controle pour savoir si un enregistrement a été créé, modifié ou supprimé (tu noteras que ça implique que les suppressions ne soient pas faites physiquement).
J'ai peur que le détail de cela dépasse le cadre de ce forum car il ne s'agit plus de VB mais de designe de base de données, même si l'implémentation finale est en VB.
-- Jean-marc Tester mon serveur (VB6) => http://myjmnhome.dyndns.org "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
"infomaroc" a écrit dans le message de news:
merci! j'etais entrain de faire qq recherche et j'ai trouvé la solution des trigger, jpense que c la bonne! mais jsais pas comment le construire!
l'ideé
ke j'ai est la suivante:
creer un trigger ki verifie tt ltemps si les données de la table ont été modifiées, et si c le cas il insere dans une table ke je vais créer, le numero de la ligne ki a eté modifiée! de ma part, avec Vb, je consulte tt ltemps avec un timer cette table si jtrouve une valeur, donc jsais ke la table est modifiée et j'ai mm la
ligne,
jprend la valeur ke j'ai dans cette table et jefais un update et jla met a "0", donc si jconsulte une nouvelle fois et jtrouve un "0", ca veut dire
ke
le trigger n'est pas declenché donc la table n'a pas changé, etc.... cmt vous trouvez cette solution? et si elle est bonne, vous avez une idée sur comment créer ce trigger??? la syntaxe,etc.... merci
Hello,
ca ne marche pas exactement comme ça. Un trigger est une
fonctionnalité offerte par cetraines DB( Oracle, DB2). Cette
fonctionalité permet de placer du code SQL qui s'exécute en
fonction de certains évènements.
Ce que tu veux faire est différent: il s'agit de créer un programme
externe dont le boulot consite à scruter à intervalle régulier une ou
des tables pour vérifier si un changement à eu lieu.
C'est une bonne solution.
Cela implique dans la ou les tables de donnée un champ de controle
avec des valeurs de controle pour savoir si un enregistrement a été
créé, modifié ou supprimé (tu noteras que ça implique que les
suppressions ne soient pas faites physiquement).
J'ai peur que le détail de cela dépasse le cadre de ce forum car
il ne s'agit plus de VB mais de designe de base de données, même
si l'implémentation finale est en VB.
--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
"infomaroc" <r.khadija@gmail.com> a écrit dans le message de
news:5D14642E-0687-4BB4-8782-155794F8C170@microsoft.com...
merci!
j'etais entrain de faire qq recherche et j'ai trouvé la solution des
trigger, jpense que c la bonne! mais jsais pas comment le construire!
l'ideé
ke j'ai est la suivante:
creer un trigger ki verifie tt ltemps si les données de la table ont été
modifiées, et si c le cas il insere dans une table ke je vais créer, le
numero de la ligne ki a eté modifiée!
de ma part, avec Vb, je consulte tt ltemps avec un timer cette table si
jtrouve une valeur, donc jsais ke la table est modifiée et j'ai mm la
ligne,
jprend la valeur ke j'ai dans cette table et jefais un update et jla met a
"0", donc si jconsulte une nouvelle fois et jtrouve un "0", ca veut dire
ke
le trigger n'est pas declenché donc la table n'a pas changé, etc....
cmt vous trouvez cette solution? et si elle est bonne, vous avez une idée
sur comment créer ce trigger??? la syntaxe,etc....
merci
ca ne marche pas exactement comme ça. Un trigger est une fonctionnalité offerte par cetraines DB( Oracle, DB2). Cette fonctionalité permet de placer du code SQL qui s'exécute en fonction de certains évènements.
Ce que tu veux faire est différent: il s'agit de créer un programme externe dont le boulot consite à scruter à intervalle régulier une ou des tables pour vérifier si un changement à eu lieu.
C'est une bonne solution.
Cela implique dans la ou les tables de donnée un champ de controle avec des valeurs de controle pour savoir si un enregistrement a été créé, modifié ou supprimé (tu noteras que ça implique que les suppressions ne soient pas faites physiquement).
J'ai peur que le détail de cela dépasse le cadre de ce forum car il ne s'agit plus de VB mais de designe de base de données, même si l'implémentation finale est en VB.
-- Jean-marc Tester mon serveur (VB6) => http://myjmnhome.dyndns.org "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
"infomaroc" a écrit dans le message de news:
merci! j'etais entrain de faire qq recherche et j'ai trouvé la solution des trigger, jpense que c la bonne! mais jsais pas comment le construire!
l'ideé
ke j'ai est la suivante:
creer un trigger ki verifie tt ltemps si les données de la table ont été modifiées, et si c le cas il insere dans une table ke je vais créer, le numero de la ligne ki a eté modifiée! de ma part, avec Vb, je consulte tt ltemps avec un timer cette table si jtrouve une valeur, donc jsais ke la table est modifiée et j'ai mm la
ligne,
jprend la valeur ke j'ai dans cette table et jefais un update et jla met a "0", donc si jconsulte une nouvelle fois et jtrouve un "0", ca veut dire
ke
le trigger n'est pas declenché donc la table n'a pas changé, etc.... cmt vous trouvez cette solution? et si elle est bonne, vous avez une idée sur comment créer ce trigger??? la syntaxe,etc.... merci