PHoenix_w
L'homme Truc
BonjourSalut
Voici le problème qui me hante depuis deux trois jours maintenant.
J'ai mis ma table tCourses comme maitre de ma table ttickets pour que quand je crée un ticket de pari il soit lié à une course. Pour ça j'ai mis la table tcourses dans la propriété mastersource de ma table ttickets et j 'ai mis idcourses comme champ maître du champ idtickets. Jusque la je pense que c'est correct.
Voici le code que j'ai mis derrière le bouton qui sert à créer un nouveau pari.
Code :
procedure Tgestionparis.btpariClick(Sender: TObject);
begin
with dm.queryExe do
begin
sql.clear;
sql.add('insert into ttickets (dateticket, idcourse) values (');
SQL.Add(quotedstr(dbdatecourse.text)+',');
SQL.Add(quotedstr(dblookupcombobox1.text)+')');
ExecSQL;
sql.text:= 'select * from tcourses';
open;
end;
end;
Ce code doit me permettre de récupérer la date de la course ainsi que le numéro de la course auquel le ticket doit être lié. Cependant quand je lance l'application il m'indique que le champ idcourse n'existe pas (c'est un champ secondaire créé sur idtickets qui lui est un champ auto-incrémenté). Et si je crée le champ idcourse en tant que champ primaire et que je selectionne une course puis clique par exemple deux fois sur le bouton nouveau pari, il va m'ajouter un pari sur la première course puis un pari sur la deuxième etc... au lieu d'ajouter deux paris à la première course.
Quelles sont mes erreurs dans ce code et y-a-t'il une meilleure façon de faire?
Voici le problème qui me hante depuis deux trois jours maintenant.
J'ai mis ma table tCourses comme maitre de ma table ttickets pour que quand je crée un ticket de pari il soit lié à une course. Pour ça j'ai mis la table tcourses dans la propriété mastersource de ma table ttickets et j 'ai mis idcourses comme champ maître du champ idtickets. Jusque la je pense que c'est correct.
Voici le code que j'ai mis derrière le bouton qui sert à créer un nouveau pari.
Code :
procedure Tgestionparis.btpariClick(Sender: TObject);
begin
with dm.queryExe do
begin
sql.clear;
sql.add('insert into ttickets (dateticket, idcourse) values (');
SQL.Add(quotedstr(dbdatecourse.text)+',');
SQL.Add(quotedstr(dblookupcombobox1.text)+')');
ExecSQL;
sql.text:= 'select * from tcourses';
open;
end;
end;
Ce code doit me permettre de récupérer la date de la course ainsi que le numéro de la course auquel le ticket doit être lié. Cependant quand je lance l'application il m'indique que le champ idcourse n'existe pas (c'est un champ secondaire créé sur idtickets qui lui est un champ auto-incrémenté). Et si je crée le champ idcourse en tant que champ primaire et que je selectionne une course puis clique par exemple deux fois sur le bouton nouveau pari, il va m'ajouter un pari sur la première course puis un pari sur la deuxième etc... au lieu d'ajouter deux paris à la première course.
Quelles sont mes erreurs dans ce code et y-a-t'il une meilleure façon de faire?