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 :

Bug sur la prorpiété required d'un TField avec ADO ???


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 14
    Points : 10
    Points
    10
    Par défaut Bug sur la prorpiété required d'un TField avec ADO ???
    j'utilise une connection à une base SQL Server en utilisant les composants ADO.

    Je cherche à savoir si un champ peut être null ou non, j'utilise donc
    la propriété required, mais il y a surement un bug, la valeur renvoyée vaut toujours false, quelque soit le champ, qu'il puisse ou non être null.

    Quelqu'un a t il constaté ce bug ? si oui, existe t il une mise à jour des composants ?

    ou bien comment faire autrement pour savoir si un champ peut être null ou non ?

    Merci d'avance pour votre aide !!!

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    je remonte le sujet car je n'ai reçu aucune réponse.

    Personne ne peut m'aider ??? Allez, SVP ????

  3. #3
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    avec quel code ?

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ma table test :
    CREATE TABLE TEST (
      CODE VARCHAR(15) NOT NULL,
      TYPE  INTEGER NOT NULL,
      LIBELLE VARCHAR(100),
      PRIMARY KEY (CODE, TYPE)
    );
    mon code :
    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
    18
    19
    20
    21
    22
    23
    var la_requete : TStringList;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var query : integer;
    begin
      la_requete := TStringList.Create;
      Application.CreateForm(TDataModule2,DataModule2);
      DataModule2.ADOConnection1.Connected := True;
      la_requete.Clear;
      la_requete.Add('SELECT CODE, LIBELLE, TYPE FROM TEST ');
      la_requete.Add('WHERE TYPENREG = 200');
      la_requete.Add(' AND CODE = '+ quotedstr('200'));
      query := creation_nouveau_query;
      DataModule2.le_query_ADO.SQL := TStringList.Create;
      DataModule2.le_query_ADO.SQL := la_requete;
      DataModule2.le_query_ADO   .Open;
      DataModule2.le_query_ADO  := TADOQuery(FindComponent('Query'+IntToStr(query)));
       if DataModule2.le_query_ADO.FieldByName('CODE').Required = False then
        Edit1.Text := 'False'
      else
        Edit1.Text := 'True';
      DataModule2.le_query_ADO.Close;
    end;
    la valeur renvoyée est false au lieu de true !!!


    [Balise [code] rajoutée par Seb]
    [Pensez-y vous-même à l'avenir. Merci.]

  5. #5
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if DataModule2.le_query_ADO.Recordser.Fields['CODE'].Attributes And 32  = 0 Then //c'est vrai

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par bidou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if DataModule2.le_query_ADO.Recordser.Fields['CODE'].Attributes And 32  = 0 Then //c'est vrai
    merci beaucoup, ça marche, c'est l'essentiel, mais pourrais tout de même avoir une explication pour comprendre ????

  7. #7
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    L'objet Tfield ne contient pas exactement l'objet Field sous-jacent dans ADO.
    Lorsque tu fais appel à la propriété Required, tu as une réponse correct avec des objets persistant,, mais pas avec des objets dynamiques (ton cas).
    Pour savoir si le champ est obligatoire, tu dois aller lire la propriété Attributes de l'objet champ ADO.
    Celle-ci est un masque qui contient 32 si le champ est obligatoire.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/11/2005, 17h32
  2. [RegEx] Petit Bug sur Expression Régulière
    Par Delphy113 dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2005, 20h48
  3. [Plugin][VE]Bug sur Eclipse Visual Project Editor
    Par capitaine_choc dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 31/05/2005, 14h51
  4. Bug sur glColor3i !
    Par ZiZouJH dans le forum OpenGL
    Réponses: 23
    Dernier message: 04/06/2004, 10h21
  5. Page de rapport de bug sur le site de Sun
    Par piff dans le forum Général Java
    Réponses: 1
    Dernier message: 03/03/2003, 18h12

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