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++Builder Discussion :

Difficulte d'insertion de valeur dans une base de donnees


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut Difficulte d'insertion de valeur dans une base de donnees
    Bonsoir:
    Je reussi a inserer des donnees dans une base Access avec ADO avec seulement deux composants, TADOConnection et TADOCommande j'ai juste un souci de compreension si j'utilise la requette comme suit pas de probleme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            ADOCommand1->CommandText = "INSERT INTO Bureau (CODEPOSTAL, IDBUREAU, TEL) VALUES (30700, '4.300000', '00-00-00-00-00')";
            ADOCommand1->Execute();
    Si j'utilise la methode suivante j'ecrit dans la bonne colonne mais a chaque fois je descend d'une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            ADOCommand1->CommandText = "INSERT INTO Bureau (CODEPOSTAL) VALUES (30700)";
            ADOCommand1->Execute();
            ADOCommand1->CommandText = "INSERT INTO Bureau (IDBUREAU) VALUES (4.300000)";
            ADOCommand1->Execute();
            ADOCommand1->CommandText = "INSERT INTO Bureau (TEL) VALUES (00-00-00-00-00)";
            ADOCommand1->Execute()
    Y a t'il un moyen de rester sur la premiere ligne avec cette derniere methode

  2. #2
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonsoir Blondelle,

    Dans le second cas que tu veux garder, j'ai l'impression qu'il te faudrait plutôt utiliser qqchose comme UpDate.

    Ce qui donnerait (a tester):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    INSERT INTO Bureau (CODEPOSTAL) VALUES (30700)
     
    //PUIS:
     
    UPDATE Bureau
    SET IDBUREAU = 4.300000
    SET TEL = 00-00-00-00-00
    WHERE CODEPOSTAL = 30700
    La bonne 'syntaxe' est donc a trouver par rapport a ton cas ...
    En espérant t'aider,

    @ +

    //Edit : mais pourquoi pas ta première solution, au fait ?

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Merci pour ta reponse Sunchaser:
    Je testerais ta solution qui me semble similaire a ma premiere methode.

  4. #4
    Membre éclairé Avatar de BOUBOU81
    Profil pro
    system integrator
    Inscrit en
    Juin 2004
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : Allemagne

    Informations professionnelles :
    Activité : system integrator

    Informations forums :
    Inscription : Juin 2004
    Messages : 358
    Par défaut
    Il serait plus correct de faire quelque chose comme ça si tu les faires champs apres champs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    INSERT INTO Bureau (CODEPOSTAL) VALUES (30700)
     
    //PUIS:
     
    UPDATE Bureau
    SET IDBUREAU = 4.300000
    WHERE CODEPOSTAL = 30700
     
    UPDATE Bureau
    SET TEL = 00-00-00-00-00
    WHERE CODEPOSTAL = 30700
    Mais attention il faut que ton champ "CODEPOSTAL" soit la clé de ta table

  5. #5
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    La commande INSERT sert, en SQL, à ajouter un nouvelle enregistrement à ta table.
    Il est donc normal que tu te retrouves avec 3 enregistrements si tu fais 3 INSERT successifs.

    La méthode proposée par BOUBOU81 fonctionne. Mais je trouve cela assez paradoxal de vouloir faire 1 INSERT et 2 UPDATE alors qu'un seul INSERT suffit

  6. #6
    Membre éclairé Avatar de BOUBOU81
    Profil pro
    system integrator
    Inscrit en
    Juin 2004
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : Allemagne

    Informations professionnelles :
    Activité : system integrator

    Informations forums :
    Inscription : Juin 2004
    Messages : 358
    Par défaut
    Oui mais en même temps c'est ce qu'il demande. bien que moi aussi je trouve cela un peu etrange.
    Je ne vois pas le but de la manoeuvre?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. insertion des images dans une base de donnees mysql
    Par matamin dans le forum Langage
    Réponses: 2
    Dernier message: 23/03/2011, 16h59
  2. Réponses: 5
    Dernier message: 28/02/2011, 21h42
  3. [VB6]problème d'insertion des donneés dans une base d'Access2003
    Par lanbok dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/05/2006, 12h17
  4. Réponses: 3
    Dernier message: 27/03/2006, 17h25
  5. [MySQL] Insertion d'image dans une base de données
    Par dragonfly dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/03/2006, 14h59

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