begin process at 2010 02 10 05:57:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Access

 > 

Requêtes

 > 

Comment éviter les erreurs de clé en SQL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment éviter les erreurs de clé en SQL

mercredi 27 août 2008 à 15:01:20 | Comment éviter les erreurs de clé en SQL

Jenojen

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.

Merci de me répondre.
mercredi 27 août 2008 à 15:18:18 | Re : Comment éviter les erreurs de clé en SQL

nicomilville

Membre Club
Salut,

Met le champs ou tu ne veus pas qu'il y ai deux fois les même valeurs en UNIQUE...

a++

Si la réponse vous convient, pensez : Réponse acceptée !

mercredi 27 août 2008 à 15:27:59 | Re : Comment éviter les erreurs de clé en SQL

Jenojen

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.
mercredi 27 août 2008 à 15:43:48 | Re : Comment éviter les erreurs de clé en SQL

nicomilville

Membre Club
Ba il suffis de faire un insert avec une clause WHERE ...

INSERT INTO table VALUES('valeur','...') WHERE (SELECT cle FROM) NOT = valeur;

a++

Si la réponse vous convient, pensez : Réponse acceptée !

mercredi 27 août 2008 à 15:44:44 | Re : Comment éviter les erreurs de clé en SQL

nicomilville

Membre Club
Petite correction :

INSERT INTO table VALUES('valeur','...') WHERE (SELECT cle FROM table) NOT = valeur;

Si la réponse vous convient, pensez : Réponse acceptée !

mercredi 27 août 2008 à 15:55:29 | Re : Comment éviter les erreurs de clé en SQL

Jenojen

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;

Merci d'avance pour ton aide
mercredi 27 août 2008 à 15:58:56 | Re : Comment éviter les erreurs de clé en SQL

nicomilville

Membre Club
Olala, je ne connais pas du tout cette structure...

a++

Si la réponse vous convient, pensez : Réponse acceptée !

jeudi 18 septembre 2008 à 21:45:49 | Re : Comment éviter les erreurs de clé en SQL

yann_lo_san

Salut,

je ne sais pas si cela existe avec access mais le plus logique serait un
if not exists() insert into

with dm.queryExe do
  begin
   sql.clear;

   sql.add('if not exists(select* from tparier where idcheval = ' + 
                dm.tParticiper.fieldbyname('idcheval').asstring + ' and idtickets = ' + 
                dm.tTickets.fieldbyname('idtickets').asstring + ') ');

   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;



Cette discussion est classée dans : données, sql, erreurs, clé, éviter


Répondre à ce message

Sujets en rapport avec ce message

[Script transact-sql][SQL server 2000] Copie d'une base à une autre [ par rabbiwan ] Bonjour, J'ai sur mon serveur 2 bases de données, et je souhaiterai faire un travail tous les soirs (routine), qui consiste à copier une partie des do liaison de données dans SQL Server [ par titoune76 ] Comment faire dans SQL Server pour créer une vue selectionnant plusieurs champs de plusieurs tables (jusque la pas de pb), ces tables se situant dans conseils sur les bases de données [ par oraclebd ] bonjour , je suis étudiant en informatique ,j'ai étudié PASCAL,C,C++  ,structures de données,algorithmique, MERISE ...concernant les bases de données aide sql trés urgent [ par infkb ] bonjour,Je fais une application dont j'insère les données  dans une base de données Oracle via une interface graphique java , le problème c'est que je Lignes et colonnes [SQL-server] [ par paf le chien ] Bonjour à tous, je vous présente mon petit problème : J'ai des fichiers au formats CSV qui contiennent des données. Je veux stocker ces données dans Sql serveur et Tables Systemes [ par pepe013 ] Bonjour,Je suis actuellement sur un projet avec sql serveur et j'aimerais savoir si il existe une requete qui pourrait me donnée toutes les clé primai Duplication de données [ par erwan35 ] Bonjour à tous,Je vais mettre en place dans mon entreprise un logiciel dont les données proviendront d'une base de données SQL SERVER EXPRESS 2005.La Transfert de données vers une base de données SQL [ par julzz ] Bonsoir, aupparavant devellopeur sous VBA, je me suis lancer pour certaines raisons, dans le devellopement d'application fonctionnant sous Windows et [sql 2005]type de données d'un champ [ par gregorian ] Bonjour à tous, Pour une application, je dois faire une DB en ms sql d'habitude, je travaille en type DBase(dbf) et je développe en fox pro.Petite que Convertisseur de base de données du format SQL Server 2000 au format 2005 [ par anadeveloppeur ] BonsoirVoilà tout est dit dans le titre. Avant de poster le sujet j'ai fais une recherche dans le net et dans le moteur de recherche du forum, mais je


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales