Jenojen
Messages postés12Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention28 août 2008
-
27 août 2008 à 15:01
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 2016
-
18 sept. 2008 à 21:45
Bonjour,
J'aimerais
savoir comment éviter d'enregistrer deux fois les mêmes données
lorsqu'on passe par le SQL. En gros j'ai un bouton derrière lequel y a
du SQL (insert into...) et j'aimerais qu'avant d'exécuter je puisse
vérifier que les données que je veux entrer ne sont pas dèja dedans
pour éviter les erreurs avec les clés primaires. En gros un truc qui
vérifie dans la table que le clé primaire n'y soit pas déjà. Pour mon projet Hippodrome j'aimerais pouvoir renvoyer un showmessage si jamais la valeur de clé primaire introduite se trouve déja dans ma table.
Jenojen
Messages postés12Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention28 août 2008 27 août 2008 à 15:27
Merci de ta réponse.
Oui ça c'est fait mon champ est déclaré en tant que clé primaire. Mais ce que je veux c'est qu'il n'y ait pas d'erreur possible quand j'utilise le programme. Qu'il ne me dise pas violation de clé. En gros j'aimerais savoir comment parcourir ma table à la recherche d'une clé similaire à celle qui s'apprête à être introduite pour que je puisse dire au programme s'il trouve cette même clé: 'Cheval déjà introduit dans la course' en l'occurrence. Parce que si j'introduis deux fois une même clé le programme plante.
Jenojen
Messages postés12Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention28 août 2008 27 août 2008 à 15:55
Merci beaucoup pour ta réponses!
Est ce que pourrais m'insérer ton code la dedans parce que j'ai essayé mais sans succès. En sachant que idcheval est la valeur qui ne peut se retrouve deux fois dans cette table.
with dm.queryExe do
begin
sql.clear;
sql.add('insert into tparier (idtickets, posarrivee, idcheval) values (');
sql.add(dm.tTickets.fieldbyname('idtickets').asstring +',');
sql.add(inttostr(compteur)+ ',') ;
sql.add(dm.tParticiper.fieldbyname('idcheval').asstring + ')');
ExecSQL;
sql.text:= 'select * from tcourses';
open;
end;