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

WinDev Discussion :

Firebird - Dates


Sujet :

WinDev

  1. #1
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut Firebird - Dates
    BONJOUR A TOUS

    Depuis plusieurs jours, j'ai un problème qui me pourrit énormément la vie. Le voici :
    Je développe avec windev et firebird; dans mon projet, j'ai un champ date et plusieurs autres - je vous montre donc 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
    24
    25
    26
     
    PROCEDURE ValideLigne()
    // Demande UPDATE ou INSERT selon le mode 
    Commande est une chaîne
    commande1 est une chaîne
    Ligne est une chaîne
    SELON ModeEnCours
    CAS "Création"		// INSERT	
    // (Rappel : les identifiants auto sont générés dans des libellés par le RAD)
     
    BOUCLE		// Boucle en cas d'erreur de doublon
    // NOTE : On ne met pas à jour les rubriques 'identifiants automatiques'
    // Si votre fichier contient des identifiants automatiques, indiquez le dans l'analyse
    Commande ="INSERT INTO ELEVE ( "+...
    "MATELV, "+... "CLASSEELV, "+... "NOMELV, "+... "PRENOMELV, "+...
     "DATENAISSELV, "+... "MONSEXE, "+... "MANATION, "+... "ETABORG, "+... "MONSTATUT, "+... "MONRED, "+... "MONREGIME, "+... "MAPHOTO, "+... "DATEINSCRIPTION )"+...			
     " VALUES ("+...Quote(MATELV..Nom)+","+...Quote(CLASSEELV..Nom)+","+...Quote(NOMELV..Nom)+","+...Quote(PRENOMELV..Nom)+","+...
    Quote(DATENAISSELV..Nom)+" ,"+...Quote(MONSEXE..Nom)+","+...
    Quote(MANATION..Nom)+","+...Quote(ETABORG..Nom)+","+...
    Quote(MONSTATUT..Nom)+","+...Quote(MONRED..Nom)+","+...
    Quote(MONREGIME..Nom)+","+...Quote(MAPHOTO..Nom)+","+...
    Quote(DATEINSCRIPTION..Nom)+")"
    SI SQLExec(Commande,"REQFIC")=Faux ALORS
    // Vérifie l'erreur d'identifiant déjà utilisé
    SQLInfoGene("REQFIC")
    Info("Erreur SQL : " + SQL.MesErreur)
    Concernant le code, je n'ai pas trouvé de problème, le problème vient des champs
    • DATENAISSELV ET DATEINSCRIPTION QUI SONT DE TYPE DATE DANS FIREBIRD ET AUSSI DE TYPE DATE DANS WINDEV 9

    Concernant leur description dans windev la voici :
    LIBELLE:DATENAISSELV
    MASQUE DE SAISIE : date système
    VALEUR RETOURNEE: AAAA-MM-JJ
    Au lancement de mon application, j'ai mon champ qui a cette allure:
    ok jusque la tout marche, le masque de saisie est bien
    par la suite j'insère 14/12/2005 , l'insertion se fait sans problème mais la valeur qui reste dans mon champ
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATENAISSELV est : __/21/2005.
    en fait il me laisse n'importe quoi écrit. Ensuite, je décide de ne rien écrire dans le champ alors j'ai le message d'erreur suivant :
    Erreur sql:Conversion error from string ""
    J'ai lu tout ce que j'ai eu sur les bras mais je n'ai rien trouvé, s'agissant de mon projet de stage je vous prie de m'aider à trouver la solution. Je reste donc aussi ouvert à toute vos suggestions.
    merci à tous ceux qui m'auront lu jusque là

    MERCI A TOUS

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 32
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    Tu peux essayer de de changer la valeur retournée en AAAAMMJJ

    tegesto

  3. #3
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 275
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 275
    Points : 1 992
    Points
    1 992
    Par défaut
    Une piste serait d'utiliser l'accès (alter)natif libre et gratuit : www.sqlmanagerx.com
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Tu peux essayer de de changer la valeur retournée en AAAAMMJJ
    NON car firebird n'accepte les dates que sous le format AAAA-MM-JJ. merci à toi
    Une piste serait d'utiliser l'accès (alter)natif libre et gratuit
    en faite je comprend que la solution se trouve dans les acces alternatifs mais je suis tellement avancé dans mon projet que faire machine arrière serait vraiment catastrophique pour moi en matière de temps.

    En recherhant un peu je me suis rendu compte le pb vient du champ de saisie, car avec un objet table l'affichage se fait sans pb.
    le champ de saisie n'arrive pas formater pour afficher la date venant de la base interbase et ça vraiment ca ma decourage
    alors comment faire ? ma question reste toujous posée en même que je continue de chercher et à attendre vos suggestions
    MERCI ENCORE A TOUS

  5. #5
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    BONJOUR A TOUS
    voici donc le resultat de mes recherches pour ceux que ça interessse dans la suite le pb n'est resolu mais contourné.
    dans l'aide il est conseillé de ne pas utiliser les champs de type date pour afficher des dates
    du coup je suis vraiment coincé.
    alors je me dit que je vais utiliser deux types de dates:
    un champ de type texte: pour l'affichage
    un champ de type date: pour les entrées
    ensuite pour combiner les deux j'utilise la version indicée.
    voir dans l'aide pour les champs indicés.
    voila un peu le choix que j'ai fais pour resoudre en attendant d'avoir une solution finale plus estétique .
    ps:
    en utlisant les champs de type texte pour les entrées de date je suis confronter au pb de firebird qui veut que la date soit rentré sous le form AAA-MM-JJ. J'ai utliser la fonction DateVersChaine() mais je n'est eu gain de cause.
    es à dire que windev est limité à ce point ?
    je vous tiens au courant des évolutions
    Merci à tous

  6. #6
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut windev et firebird pb de date
    Bonjour à tous
    Ce problème est résolu
    En effet il est bien marqué dans l'aide windev 9 qu'il n'est pas conseillé d'utiliser les champs de types dates pour afficher les dates .
    en effet avec l'affichage qui utilise un champ de type date on avait pour date entree de la forme:on avait à l'affichage la date suivante:en faite rien ne concordait. je rapelle que j'utilise pour le lien entre windev et fierbird le drivers odbc de ibphoenix.
    dans ma lecture de l'aide sur firebird on devait entrer la date avec le formatcela devenait un probleme a l'entrée d'une date et à son affichage.
    voici comment j'ai proceder:
    j'utilise un champ de type texte et avant le poste je fait le changement suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unevariable=dateverschaine(chaineversdate(monchamp,"AAAAMMJJ")),AAAA-MM-JJ)
    j'ai donc à l'entrée de ma base un format reconnut par firebird
    pour l'affichage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monchamp=dateverschaine(date_venant_de_base,"JJ/MM/AAAA)
    j'ai donc à l'affichage un format reconnut par les user(francophone ).
    il se pourrait qu'il est des erreurs dans mon post car je n'ai pas le code en face. mais ce n'est pas grave pour ce que ca aiderait je ne suis pas loin.
    Merci à tous

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

Discussions similaires

  1. Comment insérer une date dans FireBird/Interbase ?
    Par tipiweb dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/05/2006, 16h54
  2. [FireBird] date la plus proche
    Par gudul dans le forum Langage SQL
    Réponses: 1
    Dernier message: 16/05/2006, 09h09
  3. [FireBird] Requête et date
    Par Asdorve dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/03/2006, 17h00
  4. [Firebird] Convertir une String en date
    Par laffreuxthomas dans le forum SQL
    Réponses: 1
    Dernier message: 04/05/2005, 19h42
  5. Réponses: 9
    Dernier message: 10/08/2004, 17h13

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