|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 114 ![]() |
[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 |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Said pesage electronique Inscription : novembre 2009 Messages : 697 ![]() |
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! |
|
10
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 114 ![]() |
Bonjour
non , cela ne fonctionne pas. le retour null donne ,'', si guillemet et ,, sans je seche |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Claude Développeur informatique Inscription : juin 2003 Messages : 1 807 ![]() |
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 |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 114 ![]() |
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 |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Said pesage electronique Inscription : novembre 2009 Messages : 697 ![]() |
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! |
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 114 ![]() |
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 |
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 114 ![]() |
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 |
|
|
00
|
|
|
#9 | |
|
Membre Expert
![]() Said pesage electronique Inscription : novembre 2009 Messages : 697 ![]() |
Citation:
__________________
Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul! |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com