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

 Delphi Discussion :

appeler une table depuis un datamodule


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 42
    Points : 18
    Points
    18
    Par défaut appeler une table depuis un datamodule
    bonsoir tout le monde

    j'essaie depuis quelques jours de créer un bouton qui remplace le db navigator

    j'ai créer le data module nomée Data et j'ai crée aussi 2 forms une forme principale et une form secondaire pour lire la table et modifier celle ci
    malheureusement j'ai pas réussi a faire fonctionner le bouton mais par contre si je place un db navigator et un db grid et je lui donne le chemain du datasource ça marche trés bien

    je veux faire 2 button un bouton Nouveau pour remplacer le bouton du db navigator Insert et un bouton Confirmer pour remplacer Post

    j'ai essayer plusieurs codes example : Data.datasource1. ou bien

    Data.Dataset.table

    mais apparement delphi me dit que Data n'a pas de membre nomé table ou bien nomé datasource dans l"erreur

    est ce que quelqu'un peux m'éclairer comment pouvoir faire ce genre de manip avec deux boutons a la place du db navigator merci je précise que j'ai bien ajouter les champs dans la forms j'utilise aussi delpi XE4

    Merci de pouvoir m'aider j'attends votre réponse avec impatience

    @bientot

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Ukraine

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 162
    Points : 163
    Points
    163
    Par défaut
    Salut,
    Est-ce que t'as ajouté l'unité du DataModule dans les Uses de ta fiche principale ?
    Pour ce faire, il faut ajouter comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    implementation
     
    Uses Unit2; // Unit2 à remplacer avec le nom que t'as donnée à l'unité contenant le DataModule
     
    {$R *.dfm}
     
    ....
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
        Data.Table1.Open;
    end;
    Vérifie que tu n'as pas un autre composant nommé Data ou que t'es pas dans un with --- do rentrant en conflit avec "Data"

    Et ça marche.
    J'espère t'avoir aidé, si ce n'est pas le cas, pourrais tu essayer de donner d'autre indications.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 42
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par djiga4me Voir le message
    Salut,
    Est-ce que t'as ajouté l'unité du DataModule dans les Uses de ta fiche principale ?
    Pour ce faire, il faut ajouter comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    implementation
     
    Uses Unit2; // Unit2 à remplacer avec le nom que t'as donnée à l'unité contenant le DataModule
     
    {$R *.dfm}
     
    ....
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
        Data.Table1.Open;
    end;
    Vérifie que tu n'as pas un autre composant nommé Data ou que t'es pas dans un with --- do rentrant en conflit avec "Data"

    Et ça marche.
    J'espère t'avoir aidé, si ce n'est pas le cas, pourrais tu essayer de donner d'autre indications.

    salut oui je l'ai ajouté

    pour ajouter

    j'ai essayer de mettre Data.PC.open;

    mais ça me donne ça

    [dcc32 Erreur] Unit4.pas(55): E2242 'PC' n'est pas un nom d'unité

    ma form du data module est nomé DATA et son unité s'appelle unit2.pas

    mes tables sont :

    PC
    CABLES
    CARTOUCHE
    DIVERS
    IMPRIMANTES
    LICENCES

    est ce que je dois renommer le nom de l'unité du data module pour que ça marche ou bien je la laisse comme elle est merci

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Ukraine

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 162
    Points : 163
    Points
    163
    Par défaut
    Salut,
    Alors essaie de changer le nom de la form du DataModule, en autre chose.
    Et aussi, plus important, PC est bien le nom du composant TTable ?

    Il se peut qu'il s'agisse bien d'un conflits entre identificateurs et autres.

    Pas la peine de renommer l'unit du DataModule.

  5. #5
    Inactif
    Homme Profil pro
    Analyste-programmeur Delphi
    Inscrit en
    Décembre 2003
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-programmeur Delphi

    Informations forums :
    Inscription : Décembre 2003
    Messages : 490
    Points : 287
    Points
    287
    Par défaut
    Citation Envoyé par coolirc Voir le message
    bonsoir tout le monde

    j'essaie depuis quelques jours de créer un bouton qui remplace le db navigator

    j'ai créer le data module nomée Data et j'ai crée aussi 2 forms une forme principale et une form secondaire pour lire la table et modifier celle ci
    malheureusement j'ai pas réussi a faire fonctionner le bouton mais par contre si je place un db navigator et un db grid et je lui donne le chemain du datasource ça marche trés bien

    je veux faire 2 button un bouton Nouveau pour remplacer le bouton du db navigator Insert et un bouton Confirmer pour remplacer Post

    j'ai essayer plusieurs codes example : Data.datasource1. ou bien

    Data.Dataset.table

    mais apparement delphi me dit que Data n'a pas de membre nomé table ou bien nomé datasource dans l"erreur

    est ce que quelqu'un peux m'éclairer comment pouvoir faire ce genre de manip avec deux boutons a la place du db navigator merci je précise que j'ai bien ajouter les champs dans la forms j'utilise aussi delpi XE4

    Merci de pouvoir m'aider j'attends votre réponse avec impatience

    @bientot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBGrid1.DataSource.DataSet.Insert;
    DBGrid1 étant le composant orienté données

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 33
    Points : 11
    Points
    11
    Par défaut
    Puisque tu utilises DELPHI XE4 laisse tomber les composants DBxxx et le DataModule qui était une fausse bonne idée de Borland. Utilise à la place la StringGrid et des TEdit tu auras beaucoup plus de souplesse de programmation avec et puis tu seras en phase avec le mode de programmation d'aujourd'hui.

  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 671
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 671
    Points : 13 065
    Points
    13 065
    Par défaut
    Citation Envoyé par jovanovic.radoslav Voir le message
    Puisque tu utilises DELPHI XE4 laisse tomber les composants DBxxx et le DataModule qui était une fausse bonne idée de Borland. Utilise à la place la StringGrid et des TEdit tu auras beaucoup plus de souplesse de programmation avec et puis tu seras en phase avec le mode de programmation d'aujourd'hui.
    Et bien sûr, tu as trouvé cette nouvelle recommandation dans la doc

  8. #8
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 550
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 550
    Points : 3 916
    Points
    3 916
    Par défaut
    Citation Envoyé par jovanovic.radoslav Voir le message
    Puisque tu utilises DELPHI XE4 laisse tomber les composants DBxxx et le DataModule qui était une fausse bonne idée de Borland. Utilise à la place la StringGrid et des TEdit tu auras beaucoup plus de souplesse de programmation avec et puis tu seras en phase avec le mode de programmation d'aujourd'hui.
    C'est quoi le mode de programmation d'aujourd'hui ? on aimerait des précisions. La fausse bonne idée du datamodule me surprend beaucoup et je pense que je ne serai pas le seul...

    Je ne suis pas sûr que cela soit une si bonne idée que cela, en effet pourquoi se passer d'outils éprouvés qui diminuent la taille du code applicatif et donc le risque de bug ?
    Passer par des composants non orientés données est une idée mais :
    - cela amène plus de travail
    - cela introduit une incohérence si, dans un projet, le reste du code est basé sur des composants orientés données,
    - enfin, en quoi cela résout le problème de coolirc ?

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

  9. #9
    Inactif
    Homme Profil pro
    Analyste-programmeur Delphi
    Inscrit en
    Décembre 2003
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-programmeur Delphi

    Informations forums :
    Inscription : Décembre 2003
    Messages : 490
    Points : 287
    Points
    287
    Par défaut
    Citation Envoyé par e-ric Voir le message
    C'est quoi le mode de programmation d'aujourd'hui ? on aimerait des précisions.

    Peut-être un élément de réponse : c'est un mode permettant de pondre un code extraordinairement compliqué (donc pondu par quelqu'un de génial), qui ne marche pas très bien, qui augmente les temps de développement et le nombre de développeurs nécessaires, qui est quasiment impossible à débugger.
    En clair : un truc à chier qui coûte la peau du cul.
    Citation Envoyé par e-ric Voir le message
    pourquoi se passer d'outils éprouvés qui diminuent la taille du code applicatif et donc le risque de bug ?

    Tout simplement parce que ça marche trop bien, et que les jeunes génies qui arrivent doivent justifier leur existence de génies.
    Citation Envoyé par e-ric Voir le message
    Passer par des composants non orientés données est une idée mais :
    - cela amène plus de travail
    - cela introduit une incohérence si, dans un projet, le reste du code est basé sur des composants orientés données,
    - enfin, en quoi cela résout le problème de coolirc ?

    Tout pareil d'accord je suis. Cela ne fait pas avancer le débat, mais :
    - ça me fait gagner 1 point
    - ça fait plaisir d'entendre des choses cohérentes et logiques de la part d'un développeur (si si, il reste encore des développeurs qui réfléchissent logiquement), parce qu'il y en a mare des Géo-trouvent-tout qui pourrissent les applications qui fonctionnaient très bien
    - ça ne risque pas de s'améliorer, puisque les jeunes qui arrivent sont formés par les Géo-trouvent-tout d'hier
    - je pense que coolirc n'a plus de problème.

    Ahh ben ça fait du bien, j'aurai dû essayé plutôt, au lieu de casser la gueule au dernier trou-du-cul qui m'a écrit du pascal comme du java

Discussions similaires

  1. Recopier une table depuis MSSQLServer 7.0
    Par Alyx² dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 18/08/2006, 20h26
  2. Mettre à jour une table depuis une autre
    Par snubi dans le forum Access
    Réponses: 1
    Dernier message: 20/04/2006, 20h28
  3. Appeler une unité depuis une DLL
    Par xavier ringoise dans le forum Langage
    Réponses: 2
    Dernier message: 03/02/2006, 22h31
  4. [MySQL 5.0 InnoDB] Appeler une url depuis une ps
    Par Johan31 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 04/11/2004, 15h00
  5. Mettre à jour une table depuis une autre
    Par rsc dans le forum SQL
    Réponses: 4
    Dernier message: 09/07/2004, 11h08

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