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 :

[Foreign Key] Un champ est-il une clé étrangère ?


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 9
    Points : 6
    Points
    6
    Par défaut [Foreign Key] Un champ est-il une clé étrangère ?
    Bonjour

    Là je craque
    Y'a t'il une méthode pour savoir si oui ou nom le champ d'une table est une clé étrangère ? (allez, je me contenterais de savoir seulement si le champ référence un autre champ en fait).

    Actuellement, j'utilise DBExpress. Je crée une TSQLConnection puis y branche dessus un TDataSet, et j'effectue une requête quelquonque sur une table (disons SELECT * FROM table).

    Donc là, je me disais : "cool, en récupérant les Champs avec Dataset.Fields... puis en faisant Fiel.FieldKind, je vais savoir si c'est une référence ce con de champ !".

    jamais, en parcourant tous les champs, Field.FieldKind ne prend la valeur ftLookup :/

    alors je me demandais, si quelqu'un avait une idée, parce que je viens de parcourir ce forum et visiblement pas mal de gens ont ce problème sans trouver de solutions...

    A titre d'info, j'utilise SQL Server 2000 et Delphi 7

    Merci bien
    ++ Starch'

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 266
    Points : 291
    Points
    291
    Par défaut
    Une solution : tu peux lire dans les tables sytemes de ta base de données.
    sur SQL Server 2000 :
    Table des cles etrangeres : sysforeignkeys et/ou sysreferences (je ne sais pas trop)
    Tables des colonnes : syscolumns
    ...

    Le défaut est qunad utilisant les tables systemes ton appli est specifique au SGBD utilisé.

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Le défaut est qunad utilisant les tables systemes ton appli est specifique au SGBD utilisé.
    C'est en particulier pour cela que je voulais éviter d'en arriver à cette solution, mais bon... S'il n'y a que ça ! Allons y dans le spécifique...

    Merci beaucoup de ton aide
    ++ Starch'

  4. #4
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 904
    Points : 1 072
    Points
    1 072
    Par défaut
    Une possibilité est:
    Sachant d'avance qu'une colonne est une clé étrangère, tu pourrais l'indiquer dans une des propriétés du champ correspondant à la colonne (tag par exemple) dans l'éditeur de champs.
    Tu testerais cette propriété quand de besoin.
    Non ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Oui, c'est aussi une solution (et c'est comme ça que je fonctionne actuellement) mais mon but fut d'éliminer ce passage <<~fastidieux~>> de configuration...

  6. #6
    Membre habitué Avatar de alexmorel
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 196
    Points : 157
    Points
    157
    Par défaut euh
    tu peux aussi directement regarder les contraintes que tu as sur ta table avec une requete...

    Enfin sous Oracle sa passe

Discussions similaires

  1. référencer un champ auto_increment comme une clé étrangère
    Par mourad_betelgeuse dans le forum Requêtes
    Réponses: 6
    Dernier message: 29/04/2013, 13h38
  2. Quelle est la syntaxe précise pour une foreign key ?
    Par vinze60 dans le forum Requêtes
    Réponses: 3
    Dernier message: 07/09/2009, 09h45
  3. Renommer un champ et ajouter une clé étrangère à une table
    Par maxlegrand dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/12/2007, 11h30
  4. listes les champs + table d'une FOREIGN KEY
    Par richard038 dans le forum SQL
    Réponses: 3
    Dernier message: 25/08/2007, 11h20
  5. Foreign key entre 2 schémas d'une même BD?
    Par mona dans le forum Oracle
    Réponses: 2
    Dernier message: 14/10/2005, 19h58

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