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 :

ADO Insertion DBGrid


Sujet :

C++Builder

  1. #1
    Membre du Club
    Homme Profil pro
    Electromécanicien
    Inscrit en
    Octobre 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electromécanicien

    Informations forums :
    Inscription : Octobre 2009
    Messages : 76
    Points : 41
    Points
    41
    Par défaut ADO Insertion DBGrid
    Bonsoir,
    je voudrais inséré une ligne dans une DBGrid mais au lieu d'une insertion j"ai un ajout

    merci

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 863
    Points
    24 863
    Par défaut
    Ajout et Insertion c'est globalement la même chose !

    le DBGrid ajoute la ligne selon le positionnement en cours, su tu as ton propre bouton et utiliser la méthode Append du ADODataSet pour un ajout au lieu de la méthode Insert.

    Pense au TDBNavigator pour avoir les boutons d'ajout\modification et de navigation, il a l'avantage de nécessiter AUCUN code !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre du Club
    Homme Profil pro
    Electromécanicien
    Inscrit en
    Octobre 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electromécanicien

    Informations forums :
    Inscription : Octobre 2009
    Messages : 76
    Points : 41
    Points
    41
    Par défaut
    bonsoir,
    par contre j'utilise ADOConnection + ADOTable et Datasource
    et non ADODataSet, je pense que ce n'est pas bon ?
    merci

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 863
    Points
    24 863
    Par défaut
    ADOTable hérite de ADODataSet, j'ai utilisé volontairement une classe plus générique pour que ma réponse puisse s'appliquer aussi bien à un TADOTable qu'à un TADOQuery !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre du Club
    Homme Profil pro
    Electromécanicien
    Inscrit en
    Octobre 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electromécanicien

    Informations forums :
    Inscription : Octobre 2009
    Messages : 76
    Points : 41
    Points
    41
    Par défaut
    bonsoir,
    voici un petit bout du code mais ça marche pas, il ajoute la ligne ,il ne l’insert pas
    pourtant je sélectionne bien une ligne au milieu de ma table sur le DBGrid !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
        ADOTable3->Append();
            // Désignation
            ADOTable3->FieldValues["DESIGNATION"] = des_finale;
            // Numero client
            ADOTable3->FieldValues["NUM_CLI"] = DBEdit16->Text;
            // date devis
            ADOTable3->FieldValues["DA_DEV"] = FormatDateTime("DD/MM/YY",Now());
            // NUMERO DEVIS
            ADOTable3->FieldValues["NUM_DEV"] = Edit10->Text;
                    // radio group **************
                    // choix unité pour quantité
                    if ( RG1->ItemIndex == 0 )
                    {  ADOTable3->FieldValues["UNIT"] = "ML"; }
                    if ( RG1->ItemIndex == 1 )
                    {  ADOTable3->FieldValues["UNIT"] = "F";  }
                    if ( RG1->ItemIndex == 2 )
                    {  ADOTable3->FieldValues["UNIT"] = "U";  }
                    if ( RG1->ItemIndex == 3 )
                    {  ADOTable3->FieldValues["UNIT"] = "ENS";}
                    //***************************
            // construction de  prix complet
            pu = ADOTable1->FieldValues["Prix Complet"];
     
    ADOTable3->Post();
    merci

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 863
    Points
    24 863
    Par défaut
    Append ajoute un nouvel enregistrement vide à la fin de l'ensemble de données.
    Insert insère une nouvel enregistrement vide dans l'ensemble de données.

    Très important :
    Pour les bases de données SQL, l'emplacement physique de l'ajout dépend de l'implémentation. Pour les tables indexées, l'index est actualisé avec les informations du nouvel enregistrement.
    Sinon ADOTable3, change ce nom pour avoir un code plus lisible, comme par exemple ADOTableCommandeClient ou ADOTableFacture
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  7. #7
    Membre du Club
    Homme Profil pro
    Electromécanicien
    Inscrit en
    Octobre 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electromécanicien

    Informations forums :
    Inscription : Octobre 2009
    Messages : 76
    Points : 41
    Points
    41
    Par défaut
    bonjour,
    ok, donc avec insert je devrais pouvoir inséré le nouvel enregistrement dans ma grille à la position du curseur, j’essaie des que je rentre
    mais il me semble que j'ai déjà essayé avec insert et ça m'ajoute l'enregistrement à la fin
    merci

Discussions similaires

  1. insert DBGrid avec TADOQuery et requete avec jointure
    Par gudul dans le forum Bases de données
    Réponses: 8
    Dernier message: 21/11/2012, 12h14
  2. [XL-2003] requete ADO INSERT depuis Excel vers Access
    Par MaxAttila dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/05/2011, 14h26
  3. VB5: Recordset ADO et DBGrid
    Par jaymzwise dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 22/09/2007, 13h16
  4. Passage de dbXpress aux composants ADO, INSERT INTO bugue
    Par WebPac dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/11/2006, 16h57
  5. Problème ADO - INSERT INTO
    Par unionriton dans le forum Bases de données
    Réponses: 12
    Dernier message: 14/12/2005, 14h36

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