IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

requete pour remplacé


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14
    Par défaut requete pour remplacé
    Bonjours à tous!
    Voici le problème:
    Je travaille sur une base de donnée Access via un ODBC, mon programme doit permettre à l'utilisateur d' enregistré de nouvelle donnée, et de pouvoir en effacé. A chaque nouvel enregistrement l'utilisateur doit entré un identifiant, mais dans ma base de donnée il ne doit pas y avoir 2 fois le même identifiant!!! Donc j'aimerais savoir quelle requête utilisé qui me permet d'ecrasé la ligne si l'identifiant existe déjà svp ?

    Voici ma requête pour enregistré une nouvelle ligne:
    sprintf (requete,"INSERT INTO donnee VALUES ('%s','%s');",Nom,identifiant);

  2. #2
    Membre éprouvé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 950
    Par défaut
    normalement, si ton champ "identifiant" a l'attribut "auto increment", tu n'a pas a entrer sa valeur, c'est access qui s'en charge

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14
    Par défaut
    ok, apparament je n'ai pas l'attribut "auto increment" est t'il possible d'utilisé une requete à la place ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14
    Par défaut
    alors, personne...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14
    Par défaut
    Mais comment on fait sur Acces pour lui attribué "l'auto increment" ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14
    Par défaut
    svp sa urge

  7. #7
    Membre éprouvé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 950
    Par défaut
    Citation Envoyé par lowrider
    Mais comment on fait sur Acces pour lui attribué "l'auto increment" ?
    tu edite la structure de la table, et pour ton champ concerné tu aura une option "autoincremente"

    le faire par requete, ca me aprait pas fiable...

  8. #8
    Membre éprouvé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 950
    Par défaut
    plus exactement, dans "type de données", tu met :
    NuméroAuto

    et voila

  9. #9
    Inactif  

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 534
    Par défaut
    Bonsoir,

    Il me semble qu' avec Access "autoincrement" ne s' applique que pour des colonnes numériques, pas sur des colonnes chaîne de caractères, tel que votre exemple le suggère avec les champs "Nom" et "Identifiant".
    Mais je peux me tromper...
    Si ce n' est pas le cas, il est peut-être préférable de créer des index uniques, pour vos deux colonnes ( Nom, Identifiant).

    Maintenant une autre méthode bricolée pour s' assurer qu' il n' y ait pas de doublon.
    Par ex, vous souhaitez insérer Nom="Dupond" et Identifiant="01234".
    Avant d' insérer, vous recherchez dans votre table si ces critères sont déjà présents.
    S' ils le sont, abandonner l' insertion, sinon insérer.

    Cordialement.

Discussions similaires

  1. Réponses: 7
    Dernier message: 21/09/2006, 14h06
  2. TEXT ou VARCHAR(255) pour remplacer un TINYTEXT MySQL
    Par Invité dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 13/05/2005, 12h01
  3. requete pour reccuperer une parti d'un resultat
    Par ViBy dans le forum Langage SQL
    Réponses: 6
    Dernier message: 03/09/2004, 09h33
  4. requete pour avoir CONTENU procedures stockees
    Par bmayer dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 11/02/2004, 13h20
  5. Quel SGBD choisir pour remplacer Access ?
    Par ggl'Nouveau dans le forum Décisions SGBD
    Réponses: 11
    Dernier message: 17/11/2003, 10h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo