IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Besoin d'aide sur les relations entre mes tables


Sujet :

Bases de données Delphi

  1. #21
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Quel est le login/mot de passe associé à ta base de donnée ?

    Ou à défaut, peux-tu me donner la structure de ta table tTickets ?
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  2. #22
    Membre à l'essai Avatar de Jenojen
    Inscrit en
    Janvier 2008
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 97
    Points : 17
    Points
    17
    Par défaut
    Ma table tTicket

    idTicket Auto-incrémenté indexé
    Dateticket Date
    idCourse Numérique Secondaire
    Voila les informations renseignées dans le dictionnaire des donnés.
    Pour ce qui est du login/pass il n'y en a pas.
    Merci de m'aider dans mon problème.

  3. #23
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Désolé mais moi il me demande un mot de passe, peut-être que j'ai mal configuré le bizarre, il est vrai que j'utilise jamais ce système je passe toujours par ADO...

    En tout cas dans ta requête tu utilises les noms de colonnes dateticket et idcourse alors que d'après ton post précédent la casse est différente. Et si met le nom des champs à la bonne casse, qu'est-ce que ça donne ?
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  4. #24
    Membre à l'essai Avatar de Jenojen
    Inscrit en
    Janvier 2008
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 97
    Points : 17
    Points
    17
    Par défaut
    Même problème. Sinon j'ai recréé la table en me disant peut-être un bug ou je ne sais quoi et c'est peut-être pour ça que la casse a changé entre deux.

  5. #25
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Peux-tu rappeler l'erreur qu'il te renvoi (des fois qu'elle ait changée depuis) ?

    En outre un moyen simple de vérifier les champs c'est de déposer un TTable que tu connectes à ta DB puis ta table. Ensuite tu doubles-cliques sur le composant et il t'ouvres l'éditeur de champs du composant. En faisant clic droit tu peux ensuite faire "Ajouter tout les champs" et il va te créer tout les champs qu'il trouve dans la table. Tu peux ainsi regarder les noms ainsi que les types attendus, etc...
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  6. #26
    Membre à l'essai Avatar de Jenojen
    Inscrit en
    Janvier 2008
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 97
    Points : 17
    Points
    17
    Par défaut
    Si j'indique le champ idCourse qui est un index secondaire dans mon code j'ai droit à nom de champ incorrect. Et si je ne fais pas cas de ce champ dans mon code quand je clique sur le bouton nouveau pari et si je clique par exemple 5 fois d'affilé sur le bouton il va m'ajouter un pari pour la course 1, 1 pour la course 2 etc jusqu'à 5.
    J'ai essayé plein de trucs fait différents tests mais rien ne passe.

  7. #27
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    C'est très curieux que le champ idCourse se remplisse tout seul O_o, as-tu vérifié qu'il n'y a pas d'auto-inc de positionné également ?

    Qu'est-ce que tu appelles exactement index secondaire ?
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  8. #28
    Membre à l'essai Avatar de Jenojen
    Inscrit en
    Janvier 2008
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 97
    Points : 17
    Points
    17
    Par défaut
    idCourse est un index secondaire créé sur idTicket comme demandé dans ma table de données.

    http://djvlad.free.fr/dico.jpg

    Voila le lien de mon dico des données si ça peut t'aider.

  9. #29
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Euh quand tu dis "créé sur idTicket" tu me fais un peu peur là, normalement idCourse doit pointer vers idCourse de la table tCourses pas sur idTicket ?
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  10. #30
    Membre à l'essai Avatar de Jenojen
    Inscrit en
    Janvier 2008
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 97
    Points : 17
    Points
    17
    Par défaut
    Je suis complètement perdu. Dans ce cas dans la propriété masterfield je dois relier quels champs?
    idCourse est une clé étrangère qui doit être une clé secondaire dans ma table tTickets. Enfin c'est comme ça que je le lis sur mon dico.

  11. #31
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    C'est aussi comme ça que je le lis. Maintenant je ne sais vraiment pas si on peut définir de vraies contraintes d'intégrité avec Paradox ou pas. Peut-être en essayer de l'enlever, peut-être en essayant de désactiver la relation maître détail (puisque tu as dis qu'il y en avait une) et tester voir ce que cela raconte.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  12. #32
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Août 2008
    Messages : 20
    Points : 24
    Points
    24
    Par défaut
    re,

    j'ai réessayer ton code et ca marche apres quelques modifs.

    j'ai recréer la table tTickets avec tes trois champs.
    j'ai recreer la table dans ton module de données.
    j'ai refait les liens entre la table tCourses et tTickets(Master/details)
    j'ai controler la requette SQL avec le respect de la casse des nom de champs.

    j'ai ajouter un tTickets.refresh a la fin de la procedure du bouton 'Nouveau pari'

    essaye...

    voila...

    A++++

  13. #33
    Membre à l'essai Avatar de Jenojen
    Inscrit en
    Janvier 2008
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 97
    Points : 17
    Points
    17
    Par défaut
    Sans la relation maitre/détail ça ajoute des tickets sans les lier à une course ce qui semble logique, donc les tickets s'empilent dans ma dbgrid peu importe la course que je choisi.

    Et le problème je le comprends mieux. En fait si je crée un premier ticket ça sera le ticket 1 et il se liera à la première course. Si j'en crée un deuxième ça deviendra le ticket 2 qui se liera à la deuxième course etc peu importe la course que je sélectionne auparavant mais ce ticket reprendra les infos de la course numéro deux si j'étais sur cet enregistrement et si c'est le ticket numéro 7 il se liera à l'enregistrement 7.

    Je sais pas si ça peut aider. Et j'ai reuploadé mon programme parce qu'en fait suite aux nombreux changements y avait des objets qui étaient plus liés et ça pouvait prêter a confusion.

    Merci de m'aider.

  14. #34
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Août 2008
    Messages : 20
    Points : 24
    Points
    24
    Par défaut
    voila une version qui marche sous delphi 2006

    j'espere que ca va t'aider.

    les nom de champs change un peu mais ca fonctionne. a toi de faire les modifs

    Pièce jointe 35002

  15. #35
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    @gui187 : il semble que ta pièce jointe ne soit pas valide, est-ce que tu pourrais la réuploader (à moins que Jenojen ait déjà pu la télécharger).
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  16. #36
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Août 2008
    Messages : 20
    Points : 24
    Points
    24
    Par défaut
    bonjour,

    la voila.

    Je l'avait effacer hier soir

    Hippodrome.rar

    desolé,

    A+++++

  17. #37
    Membre à l'essai Avatar de Jenojen
    Inscrit en
    Janvier 2008
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 97
    Points : 17
    Points
    17
    Par défaut
    Merci pour tout gui et et Guymelef votre aide m'a vraiment fait beaucoup de bien. Tout fonctionne nickel maintenant.

    J'ai une question maintenant.

    Je dois pouvoir ajouter 3 chevaux à mes tickets pour faire les paris. Pour cela je dois double cliquer sur la dbgrid ou se trouvent les chevaux et ça doit ajouter automatiquement l'idcheval sur lequel porte le double clique à mon champ idcheval de ma table Parier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    with dm.queryExe do
     begin
       sql.clear;
       sql.add('insert into tparier (idcheval) values (');
       sql.add(????????????????????????+')');
       ExecSQL;
       sql.text:= 'select * from tcourses';
       open;
     end;
    En gros je dois récupérer l'idcheval qui est dans la ligne de la dbgrid ou je double-clique. Comment faire?

    Merci d'avance de vos réponse.

  18. #38
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Lorsque que tu clique ou que tu te déplace sur une grille, l'enregistrement courant au niveau du DataSet rattaché au DataSource de ta grille devient l'enregistrement sur lequel tu es positionné.

    Donc si tu te positionne sur le double-clic de la grille et que tu interroge le DataSet associé, la valeur du champ idCheval correspond à la valeur de la ligne double-cliqué.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  19. #39
    Membre à l'essai Avatar de Jenojen
    Inscrit en
    Janvier 2008
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 97
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Aka Guymelef Voir le message
    Lorsque que tu clique ou que tu te déplace sur une grille, l'enregistrement courant au niveau du DataSet rattaché au DataSource de ta grille devient l'enregistrement sur lequel tu es positionné.

    Donc si tu te positionne sur le double-clic de la grille et que tu interroge le DataSet associé, la valeur du champ idCheval correspond à la valeur de la ligne double-cliqué.
    Ok merci pour ta réponse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    procedure Tgestionparis.dbChevauxDblClick(Sender: TObject);
    var truc:integer;
    begin
    truc:=dm.tParticiper.fieldbyname('idcheval').asinteger;
    with dm.queryExe do
     begin
       sql.clear;
       sql.add('insert into tparier (idcheval) values (');
       sql.add(truc)+')';
       //  sql.add(quotedstr(inttostr(truc)))+')';
       ExecSQL;
       sql.text:= 'select * from tcourses';
       open;
     end;
    end;
    J'ai donc tenté ça + la ligne qui est en commentaire mais j'ai droit à: Type incompatible sur la ligne avec le quotedstr mais je ne comprend pas pourquoi les types sont incompatibles.

    Merci de me répondre.

  20. #40
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Premièrement tu ne dois appeler QuotedStr (donc en gros doubler les ' et entourer la chaîne avec des ') ne doit être fait que pour des valeurs à placer dans des colonnes qui attendent réellement une chaîne.

    Donc ici, vu que le type attendu est un entier, il n'est pas nécessaire d'utiliser QuotedStr. Tu peux donc écrire directement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure Tgestionparis.dbChevauxDblClick(Sender: TObject);
    begin
    truc:=dm.tParticiper.fieldbyname('idcheval').asinteger;
    with dm.queryExe do
     begin
       sql.clear;
       sql.add('insert into tparier (idcheval) values (');
       sql.add(dm.tParticiper.fieldbyname('idcheval').asString + ')';
       ExecSQL;
       sql.text:= 'select * from tcourses';
       open;
     end;
    end;
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] besoin d'aide sur les web services
    Par Diangelita dans le forum Services Web
    Réponses: 3
    Dernier message: 20/01/2006, 08h41
  2. Besoin d'aide sur les fonction d'interbase
    Par BOUBOU81 dans le forum InterBase
    Réponses: 2
    Dernier message: 05/11/2004, 10h00
  3. besoin d'aide sur les ORB
    Par floorfille dans le forum CORBA
    Réponses: 4
    Dernier message: 24/08/2004, 15h43
  4. Filemaker ... besoin d'aide sur les Plugin
    Par joange dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 22/04/2004, 10h16
  5. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 12h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo