Puis après selection de la ligne :
HlitRecherche(fichier,rubrique,table_1.valeur)
ouvre(FicheRAD,"Modif")
Enfin pour appliquer les modifs :
FichierVersEcran() ou Fichier.rubrique=Fiche.champ
hmodifie(fichier)
La fiche RAD s'ouvre correctement remplie mais si je fais des modifs
elles ne sont pas écritent dans le fichier... (NB avec gestion
d'eurreur : Aucune erreur remontée...)
Il semble qu'il n'y ai pas de liaison constante avec le fichier.
Cela me semble bien aléatoire ! (Ce code marche très bien avec
Hyperfile)
Que faut-il rajouter ? Merci beaucoup pour votre aide...
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
dans (in) fr.comp.developpement.agl.windev, "Manu" ecrivait (wrote) :
Si vous pouvez créer des doublons dans une table qu'elle soit Isam ou InnoDB c'est que aucun index unique ou clé primaire n'existe pour cette table!
Et ne pas avoir d'index ni de clés primaires, c'est _MAL_.
-- Eric
KRIS
Dans son message précédent, Eric Demeester a écrit :
dans (in) fr.comp.developpement.agl.windev, "Manu" ecrivait (wrote) :
Si vous pouvez créer des doublons dans une table qu'elle soit Isam ou InnoDB c'est que aucun index unique ou clé primaire n'existe pour cette table!
Et ne pas avoir d'index ni de clés primaires, c'est _MAL_.
Le pb c'est que je reprends une base faite par un développeur "confirmé" qui n'a intégré ni clés primaires, ni rien de tous les concepts fondamentaux applicables à la conception d'une base de données... On fait pas toujours ce que l'on veux !!! :'( :'(
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Dans son message précédent, Eric Demeester a écrit :
dans (in) fr.comp.developpement.agl.windev, "Manu" <el@netcourrier.com>
ecrivait (wrote) :
Si vous pouvez créer des doublons dans une table qu'elle soit Isam ou InnoDB
c'est que aucun index unique ou clé primaire n'existe pour cette table!
Et ne pas avoir d'index ni de clés primaires, c'est _MAL_.
Le pb c'est que je reprends une base faite par un développeur
"confirmé" qui n'a intégré ni clés primaires, ni rien de tous les
concepts fondamentaux applicables à la conception d'une base de
données... On fait pas toujours ce que l'on veux !!! :'( :'(
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Dans son message précédent, Eric Demeester a écrit :
dans (in) fr.comp.developpement.agl.windev, "Manu" ecrivait (wrote) :
Si vous pouvez créer des doublons dans une table qu'elle soit Isam ou InnoDB c'est que aucun index unique ou clé primaire n'existe pour cette table!
Et ne pas avoir d'index ni de clés primaires, c'est _MAL_.
Le pb c'est que je reprends une base faite par un développeur "confirmé" qui n'a intégré ni clés primaires, ni rien de tous les concepts fondamentaux applicables à la conception d'une base de données... On fait pas toujours ce que l'on veux !!! :'( :'(
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Manu
>>> Si vous pouvez créer des doublons dans une table qu'elle soit Isam ou InnoDB c'est que aucun index unique ou clé primaire n'existe pour cette table!
Et ne pas avoir d'index ni de clés primaires, c'est _MAL_.
Le pb c'est que je reprends une base faite par un développeur "confirmé" qui n'a intégré ni clés primaires, ni rien de tous les concepts fondamentaux applicables à la conception d'une base de données... On fait pas toujours ce que l'on veux !!! :'( :'(
Donc l'InnoDB est totalement inutile !
As-tu un dump car cela sent le "pot de pus" (désolé d'être aussi franc) ! Concernant les mises à jour en base es-tu sur que ce n'est pas une autre ligne qui est mise à jour vu que tu n'as pas de PK...
>>> Si vous pouvez créer des doublons dans une table qu'elle soit Isam
ou InnoDB c'est que aucun index unique ou clé primaire n'existe
pour cette table!
Et ne pas avoir d'index ni de clés primaires, c'est _MAL_.
Le pb c'est que je reprends une base faite par un développeur
"confirmé" qui n'a intégré ni clés primaires, ni rien de tous les
concepts fondamentaux applicables à la conception d'une base de
données... On fait pas toujours ce que l'on veux !!! :'( :'(
Donc l'InnoDB est totalement inutile !
As-tu un dump car cela sent le "pot de pus" (désolé d'être aussi franc) !
Concernant les mises à jour en base es-tu sur que ce n'est pas une autre
ligne qui est mise à jour vu que tu n'as pas de PK...
>>> Si vous pouvez créer des doublons dans une table qu'elle soit Isam ou InnoDB c'est que aucun index unique ou clé primaire n'existe pour cette table!
Et ne pas avoir d'index ni de clés primaires, c'est _MAL_.
Le pb c'est que je reprends une base faite par un développeur "confirmé" qui n'a intégré ni clés primaires, ni rien de tous les concepts fondamentaux applicables à la conception d'une base de données... On fait pas toujours ce que l'on veux !!! :'( :'(
Donc l'InnoDB est totalement inutile !
As-tu un dump car cela sent le "pot de pus" (désolé d'être aussi franc) ! Concernant les mises à jour en base es-tu sur que ce n'est pas une autre ligne qui est mise à jour vu que tu n'as pas de PK...
Eric Demeester
dans (in) fr.comp.developpement.agl.windev, KRIS ecrivait (wrote) :
Bonsoir,
Le pb c'est que je reprends une base faite par un développeur "confirmé" qui n'a intégré ni clés primaires, ni rien de tous les concepts fondamentaux applicables à la conception d'une base de données... On fait pas toujours ce que l'on veux !!! :'( :'(
Bon, rien n'est perdu, c'est facile d'ajouter des index à une base MySQL existante.
-- Eric
dans (in) fr.comp.developpement.agl.windev, KRIS <NOSPAM@online.fr>
ecrivait (wrote) :
Bonsoir,
Le pb c'est que je reprends une base faite par un développeur
"confirmé" qui n'a intégré ni clés primaires, ni rien de tous les
concepts fondamentaux applicables à la conception d'une base de
données... On fait pas toujours ce que l'on veux !!! :'( :'(
Bon, rien n'est perdu, c'est facile d'ajouter des index à une base MySQL
existante.
dans (in) fr.comp.developpement.agl.windev, KRIS ecrivait (wrote) :
Bonsoir,
Le pb c'est que je reprends une base faite par un développeur "confirmé" qui n'a intégré ni clés primaires, ni rien de tous les concepts fondamentaux applicables à la conception d'une base de données... On fait pas toujours ce que l'on veux !!! :'( :'(
Bon, rien n'est perdu, c'est facile d'ajouter des index à une base MySQL existante.
-- Eric
jacques trepp
Eric Demeester wrote:
dans (in) fr.comp.developpement.agl.windev, KRIS ecrivait (wrote) :
Bonsoir,
Le pb c'est que je reprends une base faite par un développeur "confirmé" qui n'a intégré ni clés primaires, ni rien de tous les concepts fondamentaux applicables à la conception d'une base de données... On fait pas toujours ce que l'on veux !!! :'( :'(
Bon, rien n'est perdu, c'est facile d'ajouter des index à une base MySQL existante.
Au moins une clé primaire. Après, selon les requètes et avec l'aide de EXPLAIN, on ajoute les index qui vont bien. :)
-- Jacques TREPP AlbyGest
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.716 / Virus Database: 472 - Release Date: 05/07/2004
Eric Demeester wrote:
dans (in) fr.comp.developpement.agl.windev, KRIS <NOSPAM@online.fr>
ecrivait (wrote) :
Bonsoir,
Le pb c'est que je reprends une base faite par un développeur
"confirmé" qui n'a intégré ni clés primaires, ni rien de tous les
concepts fondamentaux applicables à la conception d'une base de
données... On fait pas toujours ce que l'on veux !!! :'( :'(
Bon, rien n'est perdu, c'est facile d'ajouter des index à une base
MySQL existante.
Au moins une clé primaire. Après, selon les requètes et avec l'aide de
EXPLAIN, on ajoute les index qui vont bien. :)
--
Jacques TREPP
AlbyGest
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.716 / Virus Database: 472 - Release Date: 05/07/2004
dans (in) fr.comp.developpement.agl.windev, KRIS ecrivait (wrote) :
Bonsoir,
Le pb c'est que je reprends une base faite par un développeur "confirmé" qui n'a intégré ni clés primaires, ni rien de tous les concepts fondamentaux applicables à la conception d'une base de données... On fait pas toujours ce que l'on veux !!! :'( :'(
Bon, rien n'est perdu, c'est facile d'ajouter des index à une base MySQL existante.
Au moins une clé primaire. Après, selon les requètes et avec l'aide de EXPLAIN, on ajoute les index qui vont bien. :)
-- Jacques TREPP AlbyGest
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.716 / Virus Database: 472 - Release Date: 05/07/2004
Manu
>> Bon, rien n'est perdu, c'est facile d'ajouter des index à une base MySQL existante.
Au moins une clé primaire. Après, selon les requètes et avec l'aide de EXPLAIN, on ajoute les index qui vont bien. :)
Sans relivrer l'analyse bien entendu
>> Bon, rien n'est perdu, c'est facile d'ajouter des index à une base
MySQL existante.
Au moins une clé primaire. Après, selon les requètes et avec l'aide de
EXPLAIN, on ajoute les index qui vont bien. :)
>> Bon, rien n'est perdu, c'est facile d'ajouter des index à une base MySQL existante.
Au moins une clé primaire. Après, selon les requètes et avec l'aide de EXPLAIN, on ajoute les index qui vont bien. :)
Sans relivrer l'analyse bien entendu
KRIS
Bon, dans mon cas rien n'est trop grave... Sauf ce fichu PB de mise à jour....
Je reprends une bD existante mais je vais ensuite la faire évoluer... ... Rajouter des cles primaires... Créer de nouveaux index.... Découper des fichiers... et surtout séparer les données des traitements en créant de nouveaux fichiers... En deux mots : !! Tout refaire !!
Ceci dit, hélas, dans un premier temps je dois reprendre l'existant pour refaire exactement l'appli existante... Pas bon choix mais j'ai pas le choix...
Je reviens à mon PB de mise à jour...
Si je lit un enregistrement avec Hlitrecherche et que je garnis une fiche avec le résultat c'est que j'y ai bien accès ? Les modifs de la fiche devraient passer dans le fichier (sans parler de gestion de transactions) en utilisant simplement ecranverfichier() et hmodifie(), Non ??
J'attends impatiemment une réponse du support PCSoft... qui ne serait tarder ; J'espère...
J'ai trouvé plusieurs utilitaires de gestion pour Mysql (MysqlCC, Msqlfront...) Selon vous, quel est le meilleur à utiliser pour gérer la base ?
Merci pour vos suggestions.
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Bon, dans mon cas rien n'est trop grave... Sauf ce fichu PB de mise à
jour....
Je reprends une bD existante mais je vais ensuite la faire évoluer...
... Rajouter des cles primaires... Créer de nouveaux index.... Découper
des fichiers...
et surtout séparer les données des traitements en créant de nouveaux
fichiers...
En deux mots : !! Tout refaire !!
Ceci dit, hélas, dans un premier temps je dois reprendre l'existant
pour refaire exactement l'appli existante... Pas bon choix mais j'ai
pas le choix...
Je reviens à mon PB de mise à jour...
Si je lit un enregistrement avec Hlitrecherche et que je garnis une
fiche avec le résultat c'est que j'y ai bien accès ?
Les modifs de la fiche devraient passer dans le fichier (sans parler de
gestion de transactions) en utilisant simplement ecranverfichier() et
hmodifie(), Non ??
J'attends impatiemment une réponse du support PCSoft... qui ne serait
tarder ; J'espère...
J'ai trouvé plusieurs utilitaires de gestion pour Mysql (MysqlCC,
Msqlfront...)
Selon vous, quel est le meilleur à utiliser pour gérer la base ?
Merci pour vos suggestions.
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Bon, dans mon cas rien n'est trop grave... Sauf ce fichu PB de mise à jour....
Je reprends une bD existante mais je vais ensuite la faire évoluer... ... Rajouter des cles primaires... Créer de nouveaux index.... Découper des fichiers... et surtout séparer les données des traitements en créant de nouveaux fichiers... En deux mots : !! Tout refaire !!
Ceci dit, hélas, dans un premier temps je dois reprendre l'existant pour refaire exactement l'appli existante... Pas bon choix mais j'ai pas le choix...
Je reviens à mon PB de mise à jour...
Si je lit un enregistrement avec Hlitrecherche et que je garnis une fiche avec le résultat c'est que j'y ai bien accès ? Les modifs de la fiche devraient passer dans le fichier (sans parler de gestion de transactions) en utilisant simplement ecranverfichier() et hmodifie(), Non ??
J'attends impatiemment une réponse du support PCSoft... qui ne serait tarder ; J'espère...
J'ai trouvé plusieurs utilitaires de gestion pour Mysql (MysqlCC, Msqlfront...) Selon vous, quel est le meilleur à utiliser pour gérer la base ?
Merci pour vos suggestions.
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Roumegou
KRIS a formulé la demande :
J'ai trouvé plusieurs utilitaires de gestion pour Mysql (MysqlCC, Msqlfront...) Selon vous, quel est le meilleur à utiliser pour gérer la base ?
Moi j'aime bien SQLyog mais attention au script batch et dump où il merde grave. Pour ces dernières fn, j'utilise mysqlcc. Mysqlfront n'est plus suivi.
Merci pour vos suggestions.
-- Eric Roumégou http://cerbermail.com/?TSoulBerPA (cliquez sur le lien ci-dessus pour me contacter en privé)
KRIS a formulé la demande :
J'ai trouvé plusieurs utilitaires de gestion pour Mysql (MysqlCC,
Msqlfront...)
Selon vous, quel est le meilleur à utiliser pour gérer la base ?
Moi j'aime bien SQLyog mais attention au script batch et dump où il
merde grave.
Pour ces dernières fn, j'utilise mysqlcc.
Mysqlfront n'est plus suivi.
Merci pour vos suggestions.
--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
J'ai trouvé plusieurs utilitaires de gestion pour Mysql (MysqlCC, Msqlfront...) Selon vous, quel est le meilleur à utiliser pour gérer la base ?
Moi j'aime bien SQLyog mais attention au script batch et dump où il merde grave. Pour ces dernières fn, j'utilise mysqlcc. Mysqlfront n'est plus suivi.
Merci pour vos suggestions.
-- Eric Roumégou http://cerbermail.com/?TSoulBerPA (cliquez sur le lien ci-dessus pour me contacter en privé)
Manu
> Ceci dit, hélas, dans un premier temps je dois reprendre l'existant pour refaire exactement l'appli existante... Pas bon choix mais j'ai pas le choix...
Quelles sont les contraintes ?
Je reviens à mon PB de mise à jour...
Si je lit un enregistrement avec Hlitrecherche et que je garnis une fiche avec le résultat c'est que j'y ai bien accès ? Les modifs de la fiche devraient passer dans le fichier (sans parler de gestion de transactions) en utilisant simplement ecranverfichier() et hmodifie(), Non ??
Si tu fais un HlittRecherche() Raz() FichierVersEcran() tu dois voir apparaitre dans ta fiche un des enregistrements qui correspond à ta requete vu que tu n'as pas de clé primaire.
Si derrière tu modifies dans ton écran et que tu fais : EcranVersFichier() HModifie() Il va modifier l'enregistrement. _Pure spéculation_ : comme il n'a aucun moyen de retrouver son enregistrement en base (sauf si WinDev a gardé en mémoire TOUTES les valeurs) il va mettre à jour le premier qu'il trouve.
Pour voir si cela est vrai, tu fais ta manip en prenant garde à bien écrire sur un papier TOUTES les colonnes avant et après modif. Tu sauvegardes la ligne et tu refais une lecture en base. Si je t'ai bien suivi jq là tu ne vois pas tes modifs. La tu prends un frontal MySQL et tu fais un 1er select en mettant en clause where toutes les valeurs initiales => en théorie tu ne devrait pas en avoir mais dans ton cas il est possible que tu la retrouves, tu fais un 2eme select en mettant en clause where toutes les valeurs finales => en théorie, te ne devrais pas avoir de ligne (vu que tu ne l'affiches pas) mais je pense que tu dois en avoir une. Si tu pouvais me donner la réponse à ces 2 questions.
J'ai trouvé plusieurs utilitaires de gestion pour Mysql (MysqlCC, Msqlfront...) Selon vous, quel est le meilleur à utiliser pour gérer la base ?
J'utilise PHPMyAdmin sans aucun problème.
> Ceci dit, hélas, dans un premier temps je dois reprendre l'existant
pour refaire exactement l'appli existante... Pas bon choix mais j'ai
pas le choix...
Quelles sont les contraintes ?
Je reviens à mon PB de mise à jour...
Si je lit un enregistrement avec Hlitrecherche et que je garnis une
fiche avec le résultat c'est que j'y ai bien accès ?
Les modifs de la fiche devraient passer dans le fichier (sans parler
de gestion de transactions) en utilisant simplement ecranverfichier()
et hmodifie(), Non ??
Si tu fais un
HlittRecherche()
Raz()
FichierVersEcran() tu dois voir apparaitre dans ta fiche un des
enregistrements qui correspond à ta requete vu que tu n'as pas de clé
primaire.
Si derrière tu modifies dans ton écran et que tu fais :
EcranVersFichier()
HModifie()
Il va modifier l'enregistrement. _Pure spéculation_ : comme il n'a aucun
moyen de retrouver son enregistrement en base (sauf si WinDev a gardé en
mémoire TOUTES les valeurs) il va mettre à jour le premier qu'il trouve.
Pour voir si cela est vrai, tu fais ta manip en prenant garde à bien écrire
sur un papier TOUTES les colonnes avant et après modif. Tu sauvegardes la
ligne et tu refais une lecture en base. Si je t'ai bien suivi jq là tu ne
vois pas tes modifs.
La tu prends un frontal MySQL et tu fais un 1er select en mettant en clause
where toutes les valeurs initiales => en théorie tu ne devrait pas en avoir
mais dans ton cas il est possible que tu la retrouves, tu fais un 2eme
select en mettant en clause where toutes les valeurs finales => en théorie,
te ne devrais pas avoir de ligne (vu que tu ne l'affiches pas) mais je pense
que tu dois en avoir une.
Si tu pouvais me donner la réponse à ces 2 questions.
J'ai trouvé plusieurs utilitaires de gestion pour Mysql (MysqlCC,
Msqlfront...)
Selon vous, quel est le meilleur à utiliser pour gérer la base ?
> Ceci dit, hélas, dans un premier temps je dois reprendre l'existant pour refaire exactement l'appli existante... Pas bon choix mais j'ai pas le choix...
Quelles sont les contraintes ?
Je reviens à mon PB de mise à jour...
Si je lit un enregistrement avec Hlitrecherche et que je garnis une fiche avec le résultat c'est que j'y ai bien accès ? Les modifs de la fiche devraient passer dans le fichier (sans parler de gestion de transactions) en utilisant simplement ecranverfichier() et hmodifie(), Non ??
Si tu fais un HlittRecherche() Raz() FichierVersEcran() tu dois voir apparaitre dans ta fiche un des enregistrements qui correspond à ta requete vu que tu n'as pas de clé primaire.
Si derrière tu modifies dans ton écran et que tu fais : EcranVersFichier() HModifie() Il va modifier l'enregistrement. _Pure spéculation_ : comme il n'a aucun moyen de retrouver son enregistrement en base (sauf si WinDev a gardé en mémoire TOUTES les valeurs) il va mettre à jour le premier qu'il trouve.
Pour voir si cela est vrai, tu fais ta manip en prenant garde à bien écrire sur un papier TOUTES les colonnes avant et après modif. Tu sauvegardes la ligne et tu refais une lecture en base. Si je t'ai bien suivi jq là tu ne vois pas tes modifs. La tu prends un frontal MySQL et tu fais un 1er select en mettant en clause where toutes les valeurs initiales => en théorie tu ne devrait pas en avoir mais dans ton cas il est possible que tu la retrouves, tu fais un 2eme select en mettant en clause where toutes les valeurs finales => en théorie, te ne devrais pas avoir de ligne (vu que tu ne l'affiches pas) mais je pense que tu dois en avoir une. Si tu pouvais me donner la réponse à ces 2 questions.
J'ai trouvé plusieurs utilitaires de gestion pour Mysql (MysqlCC, Msqlfront...) Selon vous, quel est le meilleur à utiliser pour gérer la base ?
J'utilise PHPMyAdmin sans aucun problème.
KRIS
Manu a pensé très fort :
Ceci dit, hélas, dans un premier temps je dois reprendre l'existant pour refaire exactement l'appli existante... Pas bon choix mais j'ai pas le choix...
Quelles sont les contraintes ?
Politique... Avec la direction "du développement" !!! Ce serait trop long a expliquer...
Je reviens à mon PB de mise à jour...
Si je lit un enregistrement avec Hlitrecherche et que je garnis une fiche avec le résultat c'est que j'y ai bien accès ? Les modifs de la fiche devraient passer dans le fichier (sans parler de gestion de transactions) en utilisant simplement ecranverfichier() et hmodifie(), Non ??
Si tu fais un HlittRecherche() Raz() FichierVersEcran() tu dois voir apparaitre dans ta fiche un des enregistrements qui correspond à ta requete vu que tu n'as pas de clé primaire.
Si derrière tu modifies dans ton écran et que tu fais : EcranVersFichier() HModifie() Il va modifier l'enregistrement. _Pure spéculation_ : comme il n'a aucun moyen de retrouver son enregistrement en base (sauf si WinDev a gardé en mémoire TOUTES les valeurs) il va mettre à jour le premier qu'il trouve.
Pour voir si cela est vrai, tu fais ta manip en prenant garde à bien écrire sur un papier TOUTES les colonnes avant et après modif. Tu sauvegardes la ligne et tu refais une lecture en base. Si je t'ai bien suivi jq là tu ne vois pas tes modifs. La tu prends un frontal MySQL et tu fais un 1er select en mettant en clause where toutes les valeurs initiales => en théorie tu ne devrait pas en avoir mais dans ton cas il est possible que tu la retrouves, tu fais un 2eme select en mettant en clause where toutes les valeurs finales => en théorie, te ne devrais pas avoir de ligne (vu que tu ne l'affiches pas) mais je pense que tu dois en avoir une. Si tu pouvais me donner la réponse à ces 2 questions.
En fait, rien ne se passe plus avec la nouvelle version... J'ai toujours les mêmes erreurs d"'enregistrement supprimé"
Donc pas de cle.. C'est MAL... Donc, j'ai recrée une copie du fichier... -J'y ai ajouter une cle primaire -Je fais mon hlitrecherche() sur cette cle primaire -j'ouvre la fiche... Je modifie... j'applique... et là, ça marche !
-J'ai tester avec Hlitrecherche() sur une cle indexé non primaire .. Ca marche aussi
J'ai aussi tester sans cle primaire en applicant les modifs directement avec des requetes SQL (SQLexe(update...))... Ca marche sans pb !
Rappel: Au tout début... pour convertir l'ancienne base : 1 - j'ai recréé les fichiers avec Sqlmanagerconvert puis transferé les données. 2 - ensuite j'ai importer la structure dans WD pour créer l'analyse 3 - Sur les fichiers recrées, il y avait bien des index mais pas de cle primaire. 4 - je faisais mon hlitrecherche() sur une cle indexé non primaire... 5 - L'enregistrement cherché étais bien chargé dans la fiche (Fichierversecran()) 6 - Le message d'erreur renvoyé lors de l'application des modifs (...enregistrement supprimé par un autre utilisateur...) montre que l'appli perdait l'enregistrement en cours
Donc ...sans faire des affirmations...
### La cle primaire est indispensable sur les commandes WD avec Mysql ! ?? ###
WD peut rechercher sur une rubrique quelquonque mais se sert de la cle primaire pour "stocker" la valeur de l'enregistrement en cours (Spécifiquement pour l'accès natif Mysql ??)... Faut juste le savoir ! (C'est C.. j'attendais de résoudre ce pb pour rajouter les clef primaires...)
Ca faisait un moment que j'avais pas tapé mais là, c'est quand même dur d'être débutant après 10 ans de code :'( Et je pense que je ne suis pas au bout de mes surprises... D'ailleurs, j'ai déjà un nouveau message d'erreur ! "pas de rubrique <0> dans le fichier" Bon ça a l'air moins grave... j'espère...
Encore merci à tous pour vos participations...
J'ai trouvé plusieurs utilitaires de gestion pour Mysql (MysqlCC, Msqlfront...) Selon vous, quel est le meilleur à utiliser pour gérer la base ?
J'utilise PHPMyAdmin sans aucun problème.
Celui là je connais un peu !
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Manu a pensé très fort :
Ceci dit, hélas, dans un premier temps je dois reprendre l'existant
pour refaire exactement l'appli existante... Pas bon choix mais j'ai
pas le choix...
Quelles sont les contraintes ?
Politique... Avec la direction "du développement" !!! Ce serait trop
long a expliquer...
Je reviens à mon PB de mise à jour...
Si je lit un enregistrement avec Hlitrecherche et que je garnis une
fiche avec le résultat c'est que j'y ai bien accès ?
Les modifs de la fiche devraient passer dans le fichier (sans parler
de gestion de transactions) en utilisant simplement ecranverfichier()
et hmodifie(), Non ??
Si tu fais un
HlittRecherche()
Raz()
FichierVersEcran() tu dois voir apparaitre dans ta fiche un des
enregistrements qui correspond à ta requete vu que tu n'as pas de clé
primaire.
Si derrière tu modifies dans ton écran et que tu fais :
EcranVersFichier()
HModifie()
Il va modifier l'enregistrement. _Pure spéculation_ : comme il n'a aucun
moyen de retrouver son enregistrement en base (sauf si WinDev a gardé en
mémoire TOUTES les valeurs) il va mettre à jour le premier qu'il trouve.
Pour voir si cela est vrai, tu fais ta manip en prenant garde à bien écrire
sur un papier TOUTES les colonnes avant et après modif. Tu sauvegardes la
ligne et tu refais une lecture en base. Si je t'ai bien suivi jq là tu ne
vois pas tes modifs.
La tu prends un frontal MySQL et tu fais un 1er select en mettant en clause
where toutes les valeurs initiales => en théorie tu ne devrait pas en avoir
mais dans ton cas il est possible que tu la retrouves, tu fais un 2eme
select en mettant en clause where toutes les valeurs finales => en théorie,
te ne devrais pas avoir de ligne (vu que tu ne l'affiches pas) mais je pense
que tu dois en avoir une.
Si tu pouvais me donner la réponse à ces 2 questions.
En fait, rien ne se passe plus avec la nouvelle version... J'ai
toujours les mêmes erreurs d"'enregistrement supprimé"
Donc pas de cle.. C'est MAL... Donc,
j'ai recrée une copie du fichier...
-J'y ai ajouter une cle primaire
-Je fais mon hlitrecherche() sur cette cle primaire
-j'ouvre la fiche... Je modifie... j'applique... et là, ça marche !
-J'ai tester avec Hlitrecherche() sur une cle indexé non primaire
.. Ca marche aussi
J'ai aussi tester sans cle primaire en applicant les modifs directement
avec des requetes SQL (SQLexe(update...))... Ca marche sans pb !
Rappel:
Au tout début... pour convertir l'ancienne base :
1 - j'ai recréé les fichiers avec Sqlmanagerconvert puis transferé les
données.
2 - ensuite j'ai importer la structure dans WD pour créer l'analyse
3 - Sur les fichiers recrées, il y avait bien des index mais pas de cle
primaire.
4 - je faisais mon hlitrecherche() sur une cle indexé non primaire...
5 - L'enregistrement cherché étais bien chargé dans la fiche
(Fichierversecran())
6 - Le message d'erreur renvoyé lors de l'application des modifs
(...enregistrement supprimé par un autre utilisateur...) montre que
l'appli perdait l'enregistrement en cours
Donc ...sans faire des affirmations...
### La cle primaire est indispensable sur les commandes WD avec Mysql !
?? ###
WD peut rechercher sur une rubrique quelquonque mais se sert de la cle
primaire pour "stocker" la valeur de l'enregistrement en cours
(Spécifiquement pour l'accès natif Mysql ??)... Faut juste le savoir !
(C'est C.. j'attendais de résoudre ce pb pour rajouter les clef
primaires...)
Ca faisait un moment que j'avais pas tapé mais là, c'est quand même dur
d'être débutant après 10 ans de code :'(
Et je pense que je ne suis pas au bout de mes surprises...
D'ailleurs, j'ai déjà un nouveau message d'erreur ! "pas de rubrique
<0> dans le fichier"
Bon ça a l'air moins grave... j'espère...
Encore merci à tous pour vos participations...
J'ai trouvé plusieurs utilitaires de gestion pour Mysql (MysqlCC,
Msqlfront...)
Selon vous, quel est le meilleur à utiliser pour gérer la base ?
J'utilise PHPMyAdmin sans aucun problème.
Celui là je connais un peu !
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Ceci dit, hélas, dans un premier temps je dois reprendre l'existant pour refaire exactement l'appli existante... Pas bon choix mais j'ai pas le choix...
Quelles sont les contraintes ?
Politique... Avec la direction "du développement" !!! Ce serait trop long a expliquer...
Je reviens à mon PB de mise à jour...
Si je lit un enregistrement avec Hlitrecherche et que je garnis une fiche avec le résultat c'est que j'y ai bien accès ? Les modifs de la fiche devraient passer dans le fichier (sans parler de gestion de transactions) en utilisant simplement ecranverfichier() et hmodifie(), Non ??
Si tu fais un HlittRecherche() Raz() FichierVersEcran() tu dois voir apparaitre dans ta fiche un des enregistrements qui correspond à ta requete vu que tu n'as pas de clé primaire.
Si derrière tu modifies dans ton écran et que tu fais : EcranVersFichier() HModifie() Il va modifier l'enregistrement. _Pure spéculation_ : comme il n'a aucun moyen de retrouver son enregistrement en base (sauf si WinDev a gardé en mémoire TOUTES les valeurs) il va mettre à jour le premier qu'il trouve.
Pour voir si cela est vrai, tu fais ta manip en prenant garde à bien écrire sur un papier TOUTES les colonnes avant et après modif. Tu sauvegardes la ligne et tu refais une lecture en base. Si je t'ai bien suivi jq là tu ne vois pas tes modifs. La tu prends un frontal MySQL et tu fais un 1er select en mettant en clause where toutes les valeurs initiales => en théorie tu ne devrait pas en avoir mais dans ton cas il est possible que tu la retrouves, tu fais un 2eme select en mettant en clause where toutes les valeurs finales => en théorie, te ne devrais pas avoir de ligne (vu que tu ne l'affiches pas) mais je pense que tu dois en avoir une. Si tu pouvais me donner la réponse à ces 2 questions.
En fait, rien ne se passe plus avec la nouvelle version... J'ai toujours les mêmes erreurs d"'enregistrement supprimé"
Donc pas de cle.. C'est MAL... Donc, j'ai recrée une copie du fichier... -J'y ai ajouter une cle primaire -Je fais mon hlitrecherche() sur cette cle primaire -j'ouvre la fiche... Je modifie... j'applique... et là, ça marche !
-J'ai tester avec Hlitrecherche() sur une cle indexé non primaire .. Ca marche aussi
J'ai aussi tester sans cle primaire en applicant les modifs directement avec des requetes SQL (SQLexe(update...))... Ca marche sans pb !
Rappel: Au tout début... pour convertir l'ancienne base : 1 - j'ai recréé les fichiers avec Sqlmanagerconvert puis transferé les données. 2 - ensuite j'ai importer la structure dans WD pour créer l'analyse 3 - Sur les fichiers recrées, il y avait bien des index mais pas de cle primaire. 4 - je faisais mon hlitrecherche() sur une cle indexé non primaire... 5 - L'enregistrement cherché étais bien chargé dans la fiche (Fichierversecran()) 6 - Le message d'erreur renvoyé lors de l'application des modifs (...enregistrement supprimé par un autre utilisateur...) montre que l'appli perdait l'enregistrement en cours
Donc ...sans faire des affirmations...
### La cle primaire est indispensable sur les commandes WD avec Mysql ! ?? ###
WD peut rechercher sur une rubrique quelquonque mais se sert de la cle primaire pour "stocker" la valeur de l'enregistrement en cours (Spécifiquement pour l'accès natif Mysql ??)... Faut juste le savoir ! (C'est C.. j'attendais de résoudre ce pb pour rajouter les clef primaires...)
Ca faisait un moment que j'avais pas tapé mais là, c'est quand même dur d'être débutant après 10 ans de code :'( Et je pense que je ne suis pas au bout de mes surprises... D'ailleurs, j'ai déjà un nouveau message d'erreur ! "pas de rubrique <0> dans le fichier" Bon ça a l'air moins grave... j'espère...
Encore merci à tous pour vos participations...
J'ai trouvé plusieurs utilitaires de gestion pour Mysql (MysqlCC, Msqlfront...) Selon vous, quel est le meilleur à utiliser pour gérer la base ?
J'utilise PHPMyAdmin sans aucun problème.
Celui là je connais un peu !
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com