Accueil > Forum > > > > Comment éviter les erreurs de clé en SQL
Comment éviter les erreurs de clé en SQL
mercredi 27 août 2008 à 11:44:51 |
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éja. Merci de me répondre.
|
|
mercredi 27 août 2008 à 13:32:45 |
Re : Comment éviter les erreurs de clé en SQL

WhiteHippo
|
Réponse acceptée !
Bonjour Ce sujet concerne plutot le SQL que Delphi. Il serait bon d'aller voir sur le forum associé au SQL (voir ici) N.B. Ce sujet est un sujet récurrent. Faut utiliser le moteur de recherches!! Cordialement. "L'imagination est plus importante que le savoir." Albert Einstein
|
|
mercredi 27 août 2008 à 16:00:56 |
Re : Comment éviter les erreurs de clé en SQL

cantador
|
@Jenojen: Si tu utilises une clé primaire auto-incrémentale, ce souci est réglé automatiquement (sans ajout de ligne de code) Aucun numéro crée ne peut se retrouver ultérieurement.
cantador
|
|
mercredi 27 août 2008 à 18:11:27 |
Re : Comment éviter les erreurs de clé en SQL

WhiteHippo
|
Bonsoir Cantador
"sans ajout de ligne de code" soit ! mais en modifiant alors la structure de la base de données ...
Cordialement.
"L'imagination est plus importante que le savoir." Albert Einstein
|
|
mercredi 27 août 2008 à 18:34:43 |
Re : Comment éviter les erreurs de clé en SQL
|
mercredi 27 août 2008 à 19:11:59 |
Re : Comment éviter les erreurs de clé en SQL

WhiteHippo
|
Allez après j'arrete  >3sec.... Tout dépend de la façon dont la gestion de la base a été faite et de la profondeur d'imbrication et des liens de celle-ci dans un système existant déjà bien ancré. Remettre en cause la structure d'une base de données peut engendrer beaucoup, voir même beaucoup trop de modifications, si la conception intiale a été mal faite. P.S. Je sais que je ne t'apprend rien, mais cette remarque pourra toujours servir à Jenojen "L'imagination est plus importante que le savoir." Albert Einstein
|
|
mercredi 27 août 2008 à 19:20:38 |
Re : Comment éviter les erreurs de clé en SQL

Jenojen
|
Ma base de données a été faite sur de très bonnes bases vu qu'elle a été faite sur base du dico donné par le prof donc pas de soucis de ce coté la. Mais je sèche toujours quant à vérifier si les données que je veux rentrer ne se trouvent pas déja dans ma table. De plus la proposition de champ incrémenté ne tient pas ici, étant donné que ce qui sert de clé primaire à ma table tparier ici en l'occurence est une clé extérieure.
J'ai juste besoin d'un code qui puisse véirifer que les données que je veux enregistrer par une requête sql ne sont pas dèja présentes dans ma db parce que si je les ajoute mais quelles sont dèja présentes (clé primaire oblige) alors le prog plante tout simplement.
|
|
mercredi 27 août 2008 à 19:54:28 |
Re : Comment éviter les erreurs de clé en SQL

WhiteHippo
|
Je te donne une piste : Tu peux rechercher si un enregistrement existe par un "SELECT * FROM MaBaseDeDonnée WHERE (Champ1=Valeur)" Si la requête ne te renvoit rien c'est que l'enregistrement n'est pas présent dans la base, sinon après soit tu modifies l'enregistrement existant soit tu avertit l'utilisateur et tu ne changes rien.
P.S. Je te conseille de nouveau d'aller voir sur le forum SQL.
Cordialement.
"L'imagination est plus importante que le savoir." Albert Einstein
|
|
mercredi 27 août 2008 à 20:05:48 |
Re : Comment éviter les erreurs de clé en SQL

Jenojen
|
Merci pour ta réponse. J'ai été voir mais j'ai pas trouvé si tu sais me rediriger vers un lien qui explique ça je t'en serais reconnaissant. J'ai créé mon propre topic sur la question mais sans succès et la méthode que tu m'expliques ici, j'en avais tenté un ersatz mais je ne savais pas comment appliquer cette requète et comment recevoir la réponse. En gros j'avais l'idée mais pas la facon de faire. Peux tu spécifier un peu plus ton aide ou me renvoyer vers un topic qui explique ça au mieux? Merci d'avance. sql.text:= ('select idcheval from tparier where idcheval = ' +dm.tparticiper.fieldbyname('idcheval').asstring);
|
|
mercredi 27 août 2008 à 20:16:44 |
Re : Comment éviter les erreurs de clé en SQL

WhiteHippo
|
Il ne faut pas oublier les guillemets, créés par la fonction QuotedStr : sql.text:= 'SELECT * FROM tparier WHERE idcheval ='+QuotedStr(dm.tparticiper.fieldbyname('idcheval').asstring);
Il faut penser à utiliser le moteur de recherche !!! http://search.codes-sources.com/r.aspx?r=select&s=15
Cordialement. "L'imagination est plus importante que le savoir." Albert Einstein
|
|
Cette discussion est classée dans : données, sql, erreurs, clé, éviter
Répondre à ce message
Sujets en rapport avec ce message
probleme de base de données [ par apoke ]
Mon problème est très délicat et difficile à expliquer mais je ferai de mon mieux:Voilà, dans ma base de données (access) j'ai une table "matériel" et
Récupérer la clé d'un enregistrement [ par freeman44 ]
Alors voila : J'exécute une requête SQL lors du clik sur un bouton: "Insert into tblEvaluateur values(nomEvaluateur, prenomEvaluateur)" Ca marche tres
Base de données SQL [ par kiddru ]
Comment peut-on lire 2 bases de données SQL différentes avec le même Query ou le Datasource?L'option "Duplex" dans le printerSettings de QReport ne se
Envoyer des données dans un DBChart par SQL [ par louiwahl ]
Je voudrais ajouter les données obtenues par 'AVG(Toto) as Toto'dans un DBChart par 'Serie1.Add(Toto)Si quelqu' un peut m'aiderMerciLouis
SQL, requete sur les types de données ! [ par benumiit82 ]
Bonjour,comment questionner une base de données en SQL pour connaitre le type de données d'un des champs.Par exemple je voudrais faire ceci (en pseudo
Pertes de données avec Batchmove [ par oluha ]
BonjourJ'ai un gros problème avec les batchmoves. Je m'en sers dans mon programme pour transferer une table d'Access vers SQL Server puis d'SQL Server
Base de données et serveur SQL/MYSQL, etc...... [ par zorville34 ]
Bonsoir Je suis en train de voir comment écrire une application ou il y a une base de données type access ou autres pouvant être accèder par plusieur
Erreur SQL [ par stu76 ]
Bonsoir tout le monde,Je vous sollicite une fois de plus car j'ai besoin d'un coup de pouce, . Je travaille sur un projet dans lequel j'utilise des ba
Importation des données vers une base SQL [ par othland ]
slt tlm;j'ai un peripherique qui génère un journal d'évènements, j'ai sauvegardé ce même journal dans mon disque dur sous format txt.j'ai , ensuite, i
pouvez vous me montrer comment on travaille avec un ADODataSet? [ par othland ]
Bonjour tout le monde,je sais que c'est une question bizarre mais bon!j'ai beau chercher de sources utilisant un ADODataSet avec un dbgrid sur une bas
Livres en rapport
|
Derniers Blogs
VISUAL STUDIO TALK SHOW: EF4VISUAL STUDIO TALK SHOW: EF4 par Matthieu MEZIL
La semaine dernière, j'étais à Montréal pour y animer des conférences sur Entity Framework. J'en ai profité pour enregister un podcast Visual Studio Talk Show que vous pouvez retrouver ici ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [MIX 2010] - WINDOWS PHONE 7 EN SUPER STAR DU MICROSOFT MIX 2010 ![MIX 2010] - WINDOWS PHONE 7 EN SUPER STAR DU MICROSOFT MIX 2010 ! par redo
Me voici enfin arrivé au Microsoft Mix 2010, je dois vous avouer être arrivé un peu plus tard que d'habitude, ce qui explique que je n'ayez vu aucune info passer quant au premier keynote . certains événements sont plus importants que tout, ce qui était mo...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - LIVRE GRATUIT SUR PROGRAMMER WINDOWS PHONE 7 SERIES ![MIX 2010] - LIVRE GRATUIT SUR PROGRAMMER WINDOWS PHONE 7 SERIES ! par redo
Disponible gratuitement : (153 pages) PDF Version : http://download.microsoft.com/download/7/C/8/7C820C6F-C205-4ECF-B9F3-1505DD13F9BF/ProgWinPhonePreview.pdf XPS Version : http://download.microsoft.com/download/E/3/5/E359FC51-1CF5-47F1-9BF3-74AB09D3339B/P...
Cliquez pour lire la suite de l'article par redo SQL SERVER : ESTIMER LE NOMBRE DE LIGNES RENVOYéES PAR UNE REQUêTE AVEC SQLCLRSQL SERVER : ESTIMER LE NOMBRE DE LIGNES RENVOYéES PAR UNE REQUêTE AVEC SQLCLR par christian
Dans certains cas très particuliers il peut être intéressant de savoir le nombre de ligne que va renvoyer une requête sans exécuter cette dernière. En effet les opérations de comptage sont généralement gourmande en ressource est très difficile à optim...
Cliquez pour lire la suite de l'article par christian [WF4] ACTIVITY AVEC VUE DéTAIL MASQUéE PAR DéFAUT, VIVE WPF![WF4] ACTIVITY AVEC VUE DéTAIL MASQUéE PAR DéFAUT, VIVE WPF! par JeremyJeanson
Le code suivant est destiné à répondre à une problématique courante en Workflow : Vous avez une activité dont le designer est complexe ou dont l'affichage prend une place importante à l'écran et la possibilité Collapse/Expand ne répond pas pleinement à vo...
Cliquez pour lire la suite de l'article par JeremyJeanson
Forum
RE : SVPRE : SVP par f0xi
Cliquez pour lire la suite par f0xi RE : SVPRE : SVP par madcap
Cliquez pour lire la suite par madcap RE : SVPRE : SVP par Caribensila
Cliquez pour lire la suite par Caribensila
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|