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 :

[Access] Connaître le type de donnée


Sujet :

Bases de données Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [Access] Connaître le type de donnée
    J'aimerais connaître le type de donnée d'un certain champ pour pouvoir valider une valeur en regardant si le type de donnée de cette valeur que je veux importer dans la base de donnée soit le bon type de données.

    Quel méthode serait la plus simple.

    Merci de me répondre

  2. #2
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    En utilisant la propriété EditMask du composant (DBEdit par exemple) qui est relié à un champ de la table, tu peux forcer la saisie des données sous un format bien précis (cherche l'aide sur EditMask).

    Par ailleurs, si tu lis tes informations depuis un TEdit (par exemple) et que tu veuilles faire une vérification de type avant de poster, cà risque d'être pénible et surtout lent (trop de test)...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Je dois importer des données d'un fichier Texte pour le mettre dans un TopGrid, pour ensuite le mettre dans la base de donnée.

    Si une certaine donnée du fichier Texte est de type Integer qui irait dans une colonne du TopGrid et que cette colonne envoie sa valeur dans un champ de type String dans la base de donnée.

    Je veux que le programme dise à l'utilisateur qu'une des données de la ligne contient une erreur et que les données de cette ligne ne soit pas transféré dans le TopGrid.

    C'est mon problème plus en détail.

  4. #4
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    A ce moment tu vas passer par une série de test. Les données étant probablement toutes lues sous forme de chaîne de caractères, il te faudra essayer d'effectuer la conversion vers le type correspondant à la base.

    Exemple : string <---> entier / flottant
    Pour cela il te faut utiliser la fonction val (un code d'erreur différent de 0 est renvoyé si la chaîne ne correspond pas à un entier/flottant).

    Pour la convertion vers les autres types (Date principalement) il te faudra chercher dans les unités StrUtils ou DateUtils...

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Février 2005
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 317
    Points : 183
    Points
    183
    Par défaut
    moi j'ai eu besoin de différentier string et integer, et j'ai utiliser cette méthode, ça peut te servir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     if tablegenerale.FieldByName(cmbfiltres.Text).DataType = ftinteger then
                     Filter := '['+cmbfiltres.Text + '] = ' + EdFiltre.Text //int
                     else
                      Filter := '['+cmbfiltres.Text + '] = ''' + EdFiltre.Text+ ''''//string
    ou cmbfiltres.Text est le nom du champs et EdFiltre.Text la valeur recherchée

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/07/2008, 15h07
  2. [Access-->MSSQL]Problème type de donnée booléen
    Par guigui11 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/06/2008, 16h27
  3. Réponses: 3
    Dernier message: 20/03/2008, 11h07
  4. Réponses: 5
    Dernier message: 31/08/2007, 13h01
  5. [Access 2003]Probleme type de donnée sur requete DELETE
    Par pottiez dans le forum Langage SQL
    Réponses: 12
    Dernier message: 09/08/2006, 09h39

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