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 :

Paramétrer le nom d'une table


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 103
    Par défaut Paramétrer le nom d'une table
    Bonjour,

    j'ai une table nommée t_article , pour l'ouvrir : t_article.active:=true;
    supposons que je veux ouvrir cette table par le biais d'une variable : var,
    var:='t_article';
    ....var.active:=true;

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 093
    Par défaut
    On pourrait jouer avec FindComponent si le Owner des TOUS les TTable est le même DataModule
    C'est une question tellement étrange qui revient souvent chez les débutants !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (DataModule.FindComponent('t_article') as TDataSet).Open();
    Je dirais qu'une seule chose sur cette bidouille : A NE PAS FAIRE !


    je te propose à la place une allocation dynamique d'une instance de classe !
    Tu maitrises normalement cela avec la TStringList, c'est le truc typique du débutant !
    Pour un TTable c'est presque pareil


    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
    var
      Table := TTable;
    begin
      Table := TTable.Create();
      try
        Table.DataBaseName := ... quelque part ton objet TDataBase du BDE ou TSQLConnection si DBX ou TADOConnection si ADO ... 
        Table.TableName := 't_article';
        Table.Open();
     
        bla bla bla
     
        Table.Close();
     
      finally
         Table.Free();
      end;
    end;
    Evidement pas de mode Exclusive sinon cela ne fonctionne pas !
    Je te laisse voir aussi comment gérer cela pour une durée de vie plus longue, en utilisant des property et un code structuré POO
    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 Expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 568
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 568
    Par défaut
    Citation Envoyé par camatchou Voir le message
    Bonjour,

    j'ai une table nommée t_article , pour l'ouvrir : t_article.active:=true;
    supposons que je veux ouvrir cette table par le biais d'une variable : var,
    var:='t_article';
    ....var.active:=true;

    Merci d'avance.
    Enfin mais pour quoi faire??? Pourrir le code ?

    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."

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 103
    Par défaut

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

Discussions similaires

  1. Paramétrer le nom d'une table sur une requête
    Par medhan dans le forum Développement
    Réponses: 5
    Dernier message: 06/05/2015, 17h54
  2. [MySQL-5.1] Passer le nom d'une table en paramètre d'une procédure
    Par boubanet dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 08/06/2014, 18h06
  3. Changer le nom d'une table sur SQL server avec une requete
    Par Oluha dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 01/02/2014, 23h35
  4. paramétrer le nom d'une table
    Par lotfilol dans le forum BIRT
    Réponses: 1
    Dernier message: 20/09/2007, 15h25
  5. [Access] Nom d'une table avec un espace dans SQL
    Par Corsaire dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/04/2006, 15h50

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