WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 5 avril 20123 30 nov. 2005 à 13:03
Une "violation de la contrainte PRIMARY KEY" signifie que dans ta table tu as un problème de clé primaire (normalement composée de une ou plusieurs colonnes, tu as soit un ou plusieurs champs (colonnes) de(s) clé(s) primaire(s) avec une valeur nulle, soit une ligne ou plusieurs avec une clé primaire identique.
N.B. PRIMARY KEY correspond simplement à la combinaison de UNIQUE et NOT NULL.
Donc, avant d'insérer des nouveaux éléments, il serait judicieux de vérifier que les données de la clé primaire, ne soient pas déjà présente dans ta table et ainsi garantir qu'il n'y ait pas de doublon de clé primaire.
En pseudo code, ça doit donner quelquechose comme ça :
try
// vérification si clé primaire déjà présente
// en recherchant la position dans la table
// de l'enregistrement correspondant à la clé primaire
if ( PositionnementTable( ClePrimaire )=-1 ) then
begin
// On n'insère pas les nouvelles données
// Eventuellement on met à jour les données existantes
MiseAJourTable( Donnees )
end else
begin
// insertion des nouvelles données
InsertionTable( ClePrimaire, Donnees )
end ;
except
// Gestion des erreurs ici
end ;
Cordialement.
<HR>
Il existe 10 catégories de personne. Ceux qui connaissent le binaire et les autres...