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 :

Problème avec champ référencé entre deux tables SQL Server 2008


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2013
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2013
    Messages : 212
    Points : 81
    Points
    81
    Par défaut Problème avec champ référencé entre deux tables SQL Server 2008
    Salut,

    J'ai deux tables enSQL Server 2008 dans Delphi. Quand je tente d'ajouter un champ référencé dans la première table à partir la deuxième table, alors une erreur est déclenchée :

    Nom : Sans titre.png
Affichages : 414
Taille : 30,5 Ko

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 942
    Points
    40 942
    Billets dans le blog
    62
    Par défaut

    impossible de vous aider avec si peu d'éléments ! franchement vous commencez a être un habitué du forum, ce n'est pas juste avec les indications SQL Server et Delphi (dont la version n'est pas indiqué) et avec une indication de connexion OLE qu'il faut décrypter à l'intérieur du message d'erreur que l'on peut le faire
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre régulier
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2013
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2013
    Messages : 212
    Points : 81
    Points
    81
    Par défaut
    je suis vraiment désolé , je travaille sur Delphi7 +sql server 2008 , avec deux table A et B, dans la table B je veux ajouter un champ soit disant (lookuped) ou referenced de la table A , dans firebird je n'avait pas ce genre de probleme mais dans Sql server existe , et je ne sais pas pour quoi ???

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 419
    Points : 5 818
    Points
    5 818
    Par défaut
    salut

    arf décripatage en cours veuillez patienter ...

    donc tu as deux table
    A avec des propriété disons
    _1 integer
    _2 Chaine
    _3 float
    ...
    )

    dans ta table B tu as aussi des champs
    _1 integer
    _2 Chaine
    _3 float
    ...

    mais en plus tu as un champs
    _1A integer correspondant a la valeur d'un champs de la table a
    )

    c'est bien ça ce que tu appel un champs lookuped

    bon pour savoir d'ou vient le problème il faut connaitre les composant que tu utilise pour la mise a jour de ce fameux champs

    tu confond table qui est specifique a la base
    et composant et/ou ecran

    ils nous est quasi impossible avec si peut d’éléments de déterminer d'ou viens l'erreur
    il faut connaitre les requêtes, les composant utilisé , les champs supplémentaire crée les propriete de ces champs
    ....
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  5. #5
    Membre régulier
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2013
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2013
    Messages : 212
    Points : 81
    Points
    81
    Par défaut
    j'utilise ado +sql server 2008+delphi7 pour les table j'utilise adodataset .
    prmier table :
    a (num integer not null identity(1,1) primari key ,Nom varchar(50));
    deuxieme table :
    b (num integer not null identity(1,1) primari key ,Num_table_a integer );
    -------
    donc dans la table (b) je fait un nouveau champ

    Nom : Sans titre.png
Affichages : 367
Taille : 25,8 Ko
    alors l'erreur apparait.

  6. #6
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 419
    Points : 5 818
    Points
    5 818
    Par défaut
    Salut

    Ton champs référence comment l'as tu créé ?
    as tu bien redéfini les champs et les tables dans ton champs lookup ?

    PS Arf ok j'ai vu

    il faut peut être vérifier que les deux tables(requette) soient ouvertes
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  7. #7
    Membre régulier
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2013
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2013
    Messages : 212
    Points : 81
    Points
    81
    Par défaut
    Citation Envoyé par anapurna Voir le message
    Salut

    Ton champs référence comment l'as tu créé ?
    as tu bien redéfini les champs et les tables dans ton champs lookup ?

    PS Arf ok j'ai vu
    La meme operation avec firebird et les composant zeos ça marche tres bien seulement avec ado+sql server pose probleme .

  8. #8
    Membre régulier
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2013
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2013
    Messages : 212
    Points : 81
    Points
    81
    Par défaut
    depuis des années j'importe un champ d'une tbale à l'autre de cette manière,et j'avait aucun souci, c'est la première , fois alors si vous avez un autre possibilité j'attend vos propositions .

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 942
    Points
    40 942
    Billets dans le blog
    62
    Par défaut
    Re,

    ce que je pense de ADO commence je pense à être assez connu ! de SQL Serveur peut être moins mais je ne suis pas non plus un grand fan !
    J'oserai quand même un diagnostic, étant donné que cela passe par la couche OLE comme le démontre le message, je met en doute le driver OLE.

    Au départ je croyais à une relation entre tables définis par une contrainte (FOREIGN KEY) mais même pas ! heureusement que le décodeur Anapurna a fonctionné

    depuis des années j'importe un champ d'une table à l'autre de cette manière
    Cela ne veut pas dire qu'il ne faut pas la remettre en question! Pour ce qui est de votre méthode (déclarations des champs et ajout de champs référence) je la trouve quelque peu obsolète ! Oui, cela fonctionne mais je lui préfère nettement une utilisation par Query, l'utilisation de plusieurs tables et la nécessité qu'elles soient ouvertes.
    J'utilise désormais des requêtes pour ce genre de schéma
    SELECT b.num,b.Num_table_a ,b.nom from b join a on b.Num_table_a =a.num
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  10. #10
    Membre régulier
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2013
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2013
    Messages : 212
    Points : 81
    Points
    81
    Par défaut
    Finalement j'ai trouvé la solution a mon problème En SQL Server lors de la liaison entre deux tables à l'interet d'importer un champ d'une table à l'autre il est indispensable de mettre la propriété lookupcache du champ à true pour éviter le problème qui s'affiche .

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

Discussions similaires

  1. Transférer données entre deux tables sql server
    Par Aethen dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/05/2011, 14h52
  2. Jointure entre un fichier Excel et deux tables SQL Server EN VB
    Par sql_bin dans le forum Général VBA
    Réponses: 1
    Dernier message: 10/11/2010, 15h57
  3. Inner Join entre deux tables SQL avec VB6
    Par Astragale dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 26/02/2009, 19h35
  4. [vb6]probleme avec Condition If entre deux Maskedbox
    Par r.mehdi dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 27/06/2008, 22h36
  5. comment trouve la difference dans un champ commun entre deux tables
    Par pmorth dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/02/2008, 06h04

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