Bonjour,
J'ai un vieux soft à maintenir au boulot développé en Windev. Ce logiciel est connecté à une BDD Postgresql.
J'ai modifié la BDD pour y ajouter une table de ce style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ID Int serial FK_ID int non nullable FK_ID int non nullable date nullable Timespan nullable Bool nullable varchar 255 nullable
J'ai ajouté la table dans l'analyse en synchronisant l'analyse avec la BDD. J'ai vérifié que les nullable soit bien coché dans windev mais les résultats restent étranges...
Passer par des requête Windev n'est pas possible. Les null efface le paramètre de la requête.
J'effectue dans le code une HéxécuteRequêteSQL("ma_requete", ConnexionPostGreSql, HRequeteSansCorrection, ma_requete )
Hors lorsque ma_requete vaut =
Première insert :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 INSERT INTO Ma_Table(FK_ID,FK_ID,date,timespan,bool,varchar) VALUES (123,456,"2020-04-04","2020-04-04 10:45:10",null,"test_varchar"),(123,456,"2020-04-04",null,null,null)(123,456,null,"2020-04-04 10:45:10",null,null)
Le booléen en BDD contient 0 et pas null
Deuxième insert :
Le varchar contient 0
Troisième insert :
la varchar contient 0
Le bool est bon ?!?
toutes ses requêtes testé dans Postgresql au travers de DBvizualizer s'insert sans aucune erreur.
Qu'est ce que j'ai raté dans windev pour qu'il se mette à changer les valeurs tout seul dans un string à envoyer à la BDD "sans modification" ?
Merci pour votre aide
Partager