Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > WinDev > HyperFileSQL
HyperFileSQL HyperFileSQL est un système de gestion de base de données relationnel exploité par les logiciels WinDev, WebDev et WinDev Mobile.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 02/01/2013, 14h23   #1
Fred 57220
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 114
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 114
Points : 26
Points : 26
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
Fred 57220 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2013, 15h07   #2
miripesage
Membre Expert
 
Avatar de miripesage
 
Homme Said
pesage electronique
Inscription : novembre 2009
Messages : 697
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 : 697
Points : 1 114
Points : 1 114
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!
miripesage est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/01/2013, 15h25   #3
Fred 57220
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 114
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 114
Points : 26
Points : 26
Bonjour

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

je seche
Fred 57220 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2013, 16h13   #4
frenchsting
Expert Confirmé
 
Avatar de frenchsting
 
Homme Claude
Développeur informatique
Inscription : juin 2003
Messages : 1 807
Détails du profil
Informations personnelles :
Nom : Homme Claude
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2003
Messages : 1 807
Points : 2 945
Points : 2 945
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
frenchsting est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2013, 16h50   #5
Fred 57220
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 114
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 114
Points : 26
Points : 26
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
Fred 57220 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2013, 16h54   #6
miripesage
Membre Expert
 
Avatar de miripesage
 
Homme Said
pesage electronique
Inscription : novembre 2009
Messages : 697
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 : 697
Points : 1 114
Points : 1 114
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!
miripesage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2013, 17h35   #7
Fred 57220
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 114
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 114
Points : 26
Points : 26
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
Fred 57220 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2013, 19h36   #8
Fred 57220
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 114
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 114
Points : 26
Points : 26
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
Fred 57220 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2013, 19h46   #9
miripesage
Membre Expert
 
Avatar de miripesage
 
Homme Said
pesage electronique
Inscription : novembre 2009
Messages : 697
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 : 697
Points : 1 114
Points : 1 114
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!
miripesage est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h33.


 
 
 
 
Partenaires

Hébergement Web