Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 9 sur 9
  1. #1
    Membre habitué
    Homme Profil pro Frederic
    Chargé d'affaire
    Inscrit en
    janvier 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Nom : Homme Frederic
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 178
    Points : 110
    Points
    110

    Par défaut Insert Into et champs Vides

    [WD18] + [Firebird 2.1] liaison ODBC

    Bonjour

    voici la requete Insert (allégée)

    sGsRequete = ChaîneConstruit("Insert Into MACHINES (C1,C2 , ....) Values ('%1' ,'%2' , ....) ",nId_Machine,SAI_Date_Mise_hors_Service..ValeurAffichée ).

    comment resoudre le probleme lorsque la saisie : SAI_Date_Mise_hors_Service..ValeurAffichée n'est pas renseigné ( oui cela peut etre correcte ).

    si je remplie les champs dates alors insert Ok

    dans le cas contraire ODBC
    me renvoie que conversion string error (si j'ai encadré %2 par des '')
    ou token inconnu ,, dans le cas ou pas encadré par des ''.

    merci pour le petit coup de main.

    Fred

  2. #2
    Membre Expert Avatar de miripesage
    Homme Profil pro Said
    pesage electronique
    Inscrit en
    novembre 2009
    Messages
    708
    Détails du profil
    Informations personnelles :
    Nom : Homme Said
    Localisation : Algérie

    Informations professionnelles :
    Activité : pesage electronique
    Secteur : Industrie

    Informations forums :
    Inscription : novembre 2009
    Messages : 708
    Points : 1 095
    Points
    1 095

    Par défaut

    Bonjour, juste une idée : dans "Descrption..onglet Détail"(du champs sai_date) vous cochez "Retourner NULL si vide".
    Bonne année.
    Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul!

  3. #3
    Membre habitué
    Homme Profil pro Frederic
    Chargé d'affaire
    Inscrit en
    janvier 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Nom : Homme Frederic
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 178
    Points : 110
    Points
    110

    Par défaut

    Bonjour

    non , cela ne fonctionne pas.
    le retour null donne ,'', si guillemet et ,, sans

    je seche

  4. #4
    Expert Confirmé
    Avatar de frenchsting
    Homme Profil pro Claude
    Développeur informatique
    Inscrit en
    juin 2003
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Nom : Homme Claude
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2003
    Messages : 1 896
    Points : 3 176
    Points
    3 176

    Par défaut

    Ton paramètre, c'est le SAI_Date_Mise_hors_Service..ValeurAffichée ? Dans ce cas, il doit te renvoyer par exemple 01/03/2013. Je pense que tu dois utiliser le format de date "normal" qui donnerait ici 20130301 et utiliser plutôt : SAI_Date_Mise_hors_Service, sans les cotes.

    A tester...
    Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...
    Pas de question par MP s'il vous plait. Le forum est fait pour cela...

    Make it real not fantasy

  5. #5
    Membre habitué
    Homme Profil pro Frederic
    Chargé d'affaire
    Inscrit en
    janvier 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Nom : Homme Frederic
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 178
    Points : 110
    Points
    110

    Par défaut

    ce n'est pas le format de la date qui est en cause , mais le fait qu'il n'y ai pas de date.
    lorsque la date n'est pas renseignée je me retrouve avec %2 non renseigné
    d'ou l'erreur sql

    la requete insert fonctionne si la date est renseignée, mais plante dans le cas contraire

  6. #6
    Membre Expert Avatar de miripesage
    Homme Profil pro Said
    pesage electronique
    Inscrit en
    novembre 2009
    Messages
    708
    Détails du profil
    Informations personnelles :
    Nom : Homme Said
    Localisation : Algérie

    Informations professionnelles :
    Activité : pesage electronique
    Secteur : Industrie

    Informations forums :
    Inscription : novembre 2009
    Messages : 708
    Points : 1 095
    Points
    1 095

    Par défaut

    alors mettre sai_date est chaine="""" en initialisation.
    Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul!

  7. #7
    Membre habitué
    Homme Profil pro Frederic
    Chargé d'affaire
    Inscrit en
    janvier 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Nom : Homme Frederic
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 178
    Points : 110
    Points
    110

    Par défaut

    que neni

    ChaîneConstruit("Insert Into MACHINES Values ('%1' ,%2) ,id_machine , """" )
    plante column inconnue

    ChaîneConstruit("Insert Into MACHINES Values ('%1' ,%2) ,id_machine , null)
    chaine construit traduit Null en 0

    ChaîneConstruit("Insert Into MACHINES Values ('%1' , Null ) ,id_machine , null)
    fonctionne

  8. #8
    Membre habitué
    Homme Profil pro Frederic
    Chargé d'affaire
    Inscrit en
    janvier 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Nom : Homme Frederic
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 178
    Points : 110
    Points
    110

    Par défaut

    Bon voila , j'ai contourné le pb avec la bidouille suivante , mais pas satisfait
    je vois demain avec PcSoft.

    sdate est une chaine

    SI DateValide(SAI_Date_Mise_hors_Service..Valeur) ALORS
    sdate = "'" + SAI_Date_Mise_hors_Service..ValeurAffichée +"'"
    SINON
    sdate = "Null"
    FIN

    sGsRequete = ChaîneConstruit("Insert Into MACHINES (C1,C2 , ....) Values ('%1' ,%2 , ....) ",nId_Machine,sDate).

    je cloture des que j'ai mieux..

    Merci

  9. #9
    Membre Expert Avatar de miripesage
    Homme Profil pro Said
    pesage electronique
    Inscrit en
    novembre 2009
    Messages
    708
    Détails du profil
    Informations personnelles :
    Nom : Homme Said
    Localisation : Algérie

    Informations professionnelles :
    Activité : pesage electronique
    Secteur : Industrie

    Informations forums :
    Inscription : novembre 2009
    Messages : 708
    Points : 1 095
    Points
    1 095

    Par défaut

    Citation Envoyé par Fred 57220 Voir le message
    Bon voila , j'ai contourné le pb avec la bidouille suivante , mais pas satisfait
    je vois demain avec PcSoft.

    sdate est une chaine

    SI DateValide(SAI_Date_Mise_hors_Service..Valeur) ALORS
    sdate = "'" + SAI_Date_Mise_hors_Service..ValeurAffichée +"'"
    SINON
    sdate = "/"//ou dans initialisation de SAI_Date_Mise_hors_Service="/"
    FIN

    sGsRequete = ChaîneConstruit("Insert Into MACHINES (C1,C2 , ....) Values ('%1' ,%2 , ....) ",nId_Machine,sDate).

    je cloture des que j'ai mieux..

    Merci
    Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul!

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •