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 :

dbgrid AND validation des données


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club Avatar de samlerouge
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 58
    Points : 66
    Points
    66
    Par défaut dbgrid AND validation des données
    Hello,
    j'ai un datasource qui relie un dbgrid avec un db navigator.
    Une query est relié au datasource.

    Dans mon dbgrid j'ai trois colonnes: quantité (float), mesure et nom

    J'aimerais valider les données avant la mise à jours (post,edit) du db navigator. Car j'ai des erreur de type EDataBaseError.

    Tel que le length, ou bien si il y a que des chiffres a l 'intérieur (champs quantité).

    Je sais appliquer cela a un edit mais dans un db grid je ne vois pas comment trop faire?

    Merci pour vos conseils
    Windev-Webdev - Oracle- PLSQL
    est l'ami de tout le monde

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 66
    Points : 78
    Points
    78
    Par défaut
    Un DBGrid n'est qu'une façon d'afficher les données, donc pour formater les données ,il faut utiliser la table associée à ce DBGrid et sélectionner le champs et dans l'évenement tu vas formater tes données.

  3. #3
    Membre du Club Avatar de samlerouge
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 58
    Points : 66
    Points
    66
    Par défaut
    Ok mais mon problème n'est le fait de formater a l'écran mes données, c'est de valider les nouvelles données, insérées ou modifiée dans mon grid avant l'envoie avec le dbnavigator (post ou edit).

    Ce que j'aimerais c'est que de pouvoir empêcher des erreurs a cause par exemple: si on mais un trop de caractère par rapport a la taille fixé dans la bdd.

    Ce qu j'aimerais savoir c'est comment utiliser la fonction:
    avec un test de validation sur les champs avant qu'ils soients mise à jour ou ajouté dans la base.

    Merci
    Windev-Webdev - Oracle- PLSQL
    est l'ami de tout le monde

  4. #4
    Membre expérimenté
    Avatar de Bloon
    Homme Profil pro
    Consultant Freelance
    Inscrit en
    Avril 2002
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant Freelance
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 467
    Points : 1 339
    Points
    1 339
    Par défaut
    Vérifie tes données dans l'événement BeforePost du DataSet. En cas d'erreur de saisie, tu déclenches une exception.

    Bloon
    A lire : Les règles du club
    Delphi : La FAQ - Articles

  5. #5
    Membre du Club Avatar de samlerouge
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 58
    Points : 66
    Points
    66
    Par défaut
    Ok merci du conseil.
    Windev-Webdev - Oracle- PLSQL
    est l'ami de tout le monde

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 66
    Points : 78
    Points
    78
    Par défaut
    Dans mon message précédent , une erreur s'est glissée, il fallait mettre le mot valider et non formater mes excuses !
    Donc dans l'évenement ONVALIDATE de chaque champs tu peux valider tes données avant l'envoie

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2002
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Pourquoi ne pas créer des champs permanents pour le TDataSet
    et fixer la valeur de la propriété EditFormat pour chaque champs ?

  8. #8
    Membre du Club Avatar de samlerouge
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 58
    Points : 66
    Points
    66
    Par défaut
    Bonne idées ca peut résoudre le problème avec les nombres.
    Windev-Webdev - Oracle- PLSQL
    est l'ami de tout le monde

  9. #9
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 103
    Points : 120
    Points
    120
    Par défaut
    Salut,

    ce qui m'ennuie dans ton raisonnement c'est que tu travailles sur une table à partir d'un dbGrid associé à une requete...

    une requete, le plus généralement, est "morte", donc tu ne peux pas directement faire de mise à jour sur la table requetée...

    @+
    Ce n'est pas parce qu'on pédale dans la semoule, qu'on est sûr de manger du couscous... (anonyme)

  10. #10
    Membre du Club Avatar de samlerouge
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 58
    Points : 66
    Points
    66
    Par défaut
    Hello,

    Tu vois donc j'ai une requete qui affiche la liste de ingredients d'une recette.

    Ce que je voulais faire c'est directement modifier ou ajouter des ingredients avec un dbNavigator.

    Comme ca pose trop de problèmes, j'ai résolu le problème autrement avec une dblookuplistbox pour la liste des ingrédients de la recettes et des dbedits qui affiche chaque champs de ingrédient selectionné.

    Merci de vos conseils
    Windev-Webdev - Oracle- PLSQL
    est l'ami de tout le monde

  11. #11
    Membre du Club Avatar de samlerouge
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 58
    Points : 66
    Points
    66
    Par défaut
    AU fait j'ai trouvé un moyen plus simple, Il suffit de mettre un valeur dans MAXLENGTH, pour empêcher que l'utilisateur mette trop de caractère.

    Bon week-end à tous 8)
    Windev-Webdev - Oracle- PLSQL
    est l'ami de tout le monde

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/02/2007, 08h14
  2. [EXCEL] Validation des données saisies - nouvelle Question :-)
    Par Paloma dans le forum Macros et VBA Excel
    Réponses: 39
    Dernier message: 29/11/2006, 13h28
  3. Réponses: 5
    Dernier message: 01/10/2006, 13h48
  4. Réponses: 2
    Dernier message: 17/05/2006, 08h35
  5. [PHP-JS] validation des données
    Par emma des bois dans le forum Langage
    Réponses: 6
    Dernier message: 10/02/2006, 15h28

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