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 :

Remplacer les edits par les dbEdits


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 17
    Points : 11
    Points
    11
    Par défaut Remplacer les edits par les dbEdits
    Bonjour;
    me voilà encore une fois et toujours dans la quesion faire une insertion dans une table à l'aide d'une requête SQL.
    Voilà, comme j'ai dit le prg à bien marché grâce à l'aide de tous le monde

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      with query1 do
      begin
        close;
        query1.sql.clear;
        query1. sql.add('insert into etudient(code,nom) values(' + edit1.text + ',' + quotedstr(edit2.text) + ' )');
        try
          ExecSQL;
        except
    Ma question maintenant, est-il possible de remplacer les edits par les dbedits, j'ai placé un DbGrid pour faire defiler tous les enregistrements, mais en parcouranr la table dans le Dbgrid les informations ne s'affichent pas dans les edits or si c'étaient les dbedits ça aurait été possible.
    J'ai tenté mais ca n'a pas marché, le message d'erreur s'affiche à l'excution 'enregistrement berouillé par un autre utilisateur
    Merci bien de votre aide

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    pourrais-tu être plus clair sur la nature exacte de ton problème car là c'est quelque peu flou. Je ne vois pas la relation entre les DBEdits et le bout de code posté.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  3. #3
    Membre averti Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Points : 346
    Points
    346
    Par défaut
    Bonjour,

    le message d'erreur s'affiche à l'excution 'enregistrement berouillé par un autre utilisateur
    à l'exécution de quoi exactement ?
    [Il était une fois Delphi ....]


  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Bonjour;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      with query1 do
      begin
        close;
        query1.sql.clear;
        query1. sql.add('insert into etudient(code,nom) values(' + edit1.text + ',' + quotedstr(edit2.text) + ' )');
        try
          ExecSQL;
        except
    Comme vous avez remarqué j'ai utilisé dans mon prg des edits, j'ai utilsé un Dbgrid pour voir les enregitrements, en parcourant ces derniers sur le dbgrid, les informations ne s'affichent pas dans les edits, alors ma question est:
    Est-il possible d'utiliser les dbedits à la place des edits dans le prg pour qu'à chaque fois que je selectionne un enregitrement sur le dbgrid, les informations s'affiche dans les edits ou dbedits
    Merci de votre aide

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Et bien oui il faut effectivement utiliser pour ça (c'est le plus simple question affichage) remplacer tes Edit par des DBEdit, leur renseigner le même DataSource que celui de ta grille et remplir le nom du champ à afficher par le DBEdit.

    Fais cependant attention qu'à ce moment là les données deviennent éditables (en changeant manuellement la valeur affichée) et donc si le DataSet derrière est en fait un TTable tu risque de modifier directement les valeurs en BDD.
    Néanmoins tu peux éviter cela en jouant avec la propriété ReadOnly ou bien en passant par autre chose qu'un TTable
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Bonjour;
    Au fait j'ai essayé d'utiliser les dbecits à la place des edits

    Mon prg avec les edits :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      with query1 do
      begin
        close;
        query1.sql.clear;
        query1. sql.add('insert into etudient(code,nom) values(' + edit1.text + ',' + quotedstr(edit2.text) + ' )');
        try
          ExecSQL;
        except

    Et mon prg avec les Dbedits :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      with query1 do
      begin
        close;
        query1.sql.clear;
        query1. sql.add('insert into etudient(code,nom) values(' + dbedit1.text + ',' + quotedstr(dbedit2.text) + ' )');
        try
          ExecSQL;
        except

    j'ai mis un bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    table1.append;
    dbedit1.setfocus
    je clique d'abord sur ce bouton2 pour creer un enregistrement vide, après la saisie j'enregitre avec le bouton1 de l'insertion

    le prg s'execute pour la 1ère fois, quand je veux inserrer un 2ème enregitrement un message d'erreur 'difference de types dans une expression'
    Donc quelques fois ça marche, autres non, je ne sais pas pourquoi
    MErci de votre aide

Discussions similaires

  1. Réponses: 22
    Dernier message: 20/10/2014, 08h44
  2. renseignement edit par les données d'un dbgrid
    Par abdelghani_k dans le forum Bases de données
    Réponses: 2
    Dernier message: 15/03/2011, 17h51
  3. Réponses: 0
    Dernier message: 04/11/2010, 11h21
  4. Réponses: 6
    Dernier message: 18/02/2010, 11h26

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