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

Bases de données Delphi Discussion :

Mod/sup une bdd à partir d'un TDBGrid


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Avril 2008
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 173
    Par défaut Mod/sup une bdd à partir d'un TDBGrid
    Bonjour à tous,
    J'aimerai bien modifier et supprimer des enregistrements dans ma base de donnée directement dans un TDBGrid ( c'est à dire sans avoir besoin par exemple d'un formulaire pour modifier un enregistrement).

  2. #2
    Membre éclairé

    Homme Profil pro
    ingénieur, retraité
    Inscrit en
    Février 2007
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur, retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 230
    Par défaut
    Bonjour.

    Voici un exemple de fiche qui permet de supprimer ou modifier un enregistrement d'une table existante.


    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    interface
     
    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      ExtCtrls, DBCtrls, Grids, DBGrids, Db, DBTables, StdCtrls;
     
     
     
    type
      TFichSt = class(TForm)
        DSst: TDataSource; 
        Tbst: TTable;
        DBGst: TDBGrid;
        DBNavst: TDBNavigator;
        Labst: TLabel;              // sous titre dans la fiche
     
     
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
     
        procedure TbSup(NomTab, TitreFic : string);
        procedure TbModif(NomTab, TitreFic : string);
     
      end;
     
    var
      FichSt: TFichSt;
     
    implementation
     
    {$R *.DFM}
     
    procedure TFichSt.TbSup(NomTab, TitreFic : string);  // suppression d'un enregistrement
    begin
      Tbst.TableName := NomTab;
      Caption := TitreFic;        // titre de la fiche
      TbSt.Active := False;
      TbSt.ReadOnly := False;
      LabSt.Caption := 'SUPPRESSION d''une LIGNE';
     
      DBNavSt.VisibleButtons := [nbFirst,nbPrior,nbNext,nbLast,nbDelete,
                                        nbCancel,nbPost];
      TbSt.Active := True;
      TbSt.Last;
      ShowModal;
      DBGst.Enabled := True;
    end;
     
    procedure TFichSt.TbModif(NomTab, TitreFic : string);   // modification
    begin
      Tbst.TableName := NomTab;
      Caption := TitreFic;
      TbSt.Active := False;
      TbSt.ReadOnly := False;
      try
          LabSt.Caption := 'MODIFICATION d''une LIGNE';
          DBNavSt.VisibleButtons := [nbFirst,nbPrior,nbNext,nbLast,nbEdit,
                                        nbCancel,nbPost];
     
        TbSt.Active := True;
        TbSt.Last;
        ShowModal;
      finally
        DBGst.Enabled := True;
        TbSt.ReadOnly := True;
        TbSt.Close;
        Tbst.TableName := '';
      end;
    end;
     
    End.
    Les boutons premier, suivant, ... permettent de se déplacer
    supprimer ou éditer remplissent les fonctions
    ne pas oublier "post" pour enregistrer.



    PL

  3. #3
    Membre éclairé Avatar de liazidf
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2002
    Messages : 281
    Par défaut
    salut,
    ça se fait sans coder (dbgrid+dbnavigator), pourquoi compliquer quant on peut faire simple?

  4. #4
    Membre éclairé
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 478
    Par défaut
    OK liazidf,
    Peux-tu mettre un petit code d'exemple?

    merci
    Bon dimanche!!!
    PhilLu

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 954
    Par défaut quel SGBD tu utilise?
    ça depend de quel SGBD tu utilise.

    sinon tu peut faire simple: dbgrid.datasource.dataset.delete

  6. #6
    Membre éclairé
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 478
    Par défaut
    Avec MySQL et DBExpress

  7. #7
    Membre éclairé

    Homme Profil pro
    ingénieur, retraité
    Inscrit en
    Février 2007
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur, retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 230
    Par défaut
    Bonjour,

    En complément @liazidf, en local, il faut aussi unTDataSource et un TTable pour accéder au fichier, c'est le minimum.
    On peut réunir les fonctions dans une même fiche, mais par expérience, avec un service achat, je préférais les séparer.
    PL

Discussions similaires

  1. Ouverture d'une BDD à partir d'une autre?
    Par electrosat03 dans le forum VBA Access
    Réponses: 5
    Dernier message: 10/04/2008, 17h29
  2. Création d'une BDD à partir d'une autre BDD
    Par louroulou dans le forum Modélisation
    Réponses: 1
    Dernier message: 18/01/2008, 22h05
  3. Updater une BDD à partir d'une DataGridView
    Par casavba dans le forum Windows Forms
    Réponses: 1
    Dernier message: 09/12/2007, 23h27
  4. Telecharger une image présente dans une BDD à partir de PHP
    Par guillaumeIOB dans le forum Bibliothèques et frameworks
    Réponses: 58
    Dernier message: 02/04/2006, 15h42
  5. [MySQL] Comment ecrire dans une BDD à partir d'un tableau ?
    Par weed dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 16/09/2005, 15h53

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