Bonjour,

Je développe une application Android avec WM26 de gestion de budgets. J'interroge une base de données MariaDB qui tourne sur un serveur NAS. La connexion fonctionne bien, la plupart des requêtes également à l'exception d'un cas bien particulier.
Dans Windev, j'ai une table à deux colonnes dans laquelle je charge les données de ma base (ID du budget et la description) et jusque là, tout va bien. Sur une autre fenêtre, je veux afficher le détail d'un budget(des lignes de budget) dans une zone répétée et pour cela je crée une requête dans la quelle je viens filtrer par rapport à l'ID de la ligne sélectionnée, dans la table de la fenêtre précédente, comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
MonAcces:mySQLExec("SELECT "+...
                         "BLABLABLA "+...
                  "FROM "+...
                         "BUDGET_ROW BR "+...
                  "WHERE "+...
                         "BLABLABLA "+...
                         "AND BR.BUDGET_ID = "+FEN_Budget.TABLE_Budgets[TableSelect(FEN_Budget.TABLE_Budgets)].COL_BudgetId, 1)
Lorsque je teste l'application depuis WM, aucun problème. Lorsque je teste l'application avec le déboguage sur mon smartphone, aucun problème également. Lorsque je crée l'APK et que je teste l'application installée sur mon smartphone, j'ai l'erreur suivante
SQLSTATE[42000]: Sytax error or access violation: 1064 You have an error in your SQL syntax;
En fait le problème vient de la valeur que je récupère lorsque je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
FEN_Budget.TABLE_Budgets[TableSelect(FEN_Budget.TABLE_Budgets)].COL_BudgetId
car si je remplace ce code par une variable qui contient un entier correspondant à mon ID, ça fonctionne très bien.
Et quand j'affiche avec un Info() le contenu de ma requête, j'ai bien le bon numéro qui s'affiche...
J'ai également essayé de comparer les deux valeurs (FEN_Budget.TABLE_Budgets[TableSelect(FEN_Budget.TABLE_Budgets)].COL_BudgetId = MaVariableQuiContientUnId), depuis WM c'est bien la même valeur mais depuis mon téléphone ce sont deux valeurs différentes (37 ≠ 37 !)

C'est comme si mon téléphone n'interprétait pas le retour de FEN_Budget.TABLE_Budgets[TableSelect(FEN_Budget.TABLE_Budgets)].COL_BudgetId de la même manière que l’interpréteur WM, mais je ne m'y connais pas du tout assez pour savoir ce qui se passe.

Quelqu'un qui aurait une piste ?