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

HyperFileSQL Discussion :

Insert Into et champs Vides


Sujet :

HyperFileSQL

  1. #1
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 221
    Points : 185
    Points
    185
    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 éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    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
    Chargé d'affaire
    Inscrit en
    Janvier 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 221
    Points : 185
    Points
    185
    Par défaut
    Bonjour

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

    je seche

  4. #4
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    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 appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 221
    Points : 185
    Points
    185
    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 éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    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
    Chargé d'affaire
    Inscrit en
    Janvier 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 221
    Points : 185
    Points
    185
    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
    Chargé d'affaire
    Inscrit en
    Janvier 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 221
    Points : 185
    Points
    185
    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 éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    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.

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/03/2011, 19h50
  2. [AC-2007] Problème de syntaxe INSERT INTO avec champs booleéns
    Par tAKAmAkA dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/09/2009, 16h57
  3. Problème d' INSERT INTO sur table vide
    Par marzinp dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/04/2009, 09h25
  4. Réponses: 8
    Dernier message: 26/07/2006, 14h50
  5. Incrémenter champ : insert into . select max(.) + 1 from .
    Par ludo.guy dans le forum Langage SQL
    Réponses: 10
    Dernier message: 25/11/2004, 14h39

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