SQlite - Else/ElseIF ne réagissent pas à une variable String
Publié : dim. 26/févr./2017 14:47
Bonjour,
Le but du code de mon programme, dont fait partie la portion de code suivante, est la recherche de mot dans un dictionnaire dans une base de données, avec les mots et leurs définitions.
Quand le mot saisi dans la variable phrase.s est trouver dans un enregistrement de la table langage et du champ mot, il y a bien le mot que j'ai saisi dans la variable phrase.s est donc le message TextGadget(#Text_1, 400, 10, 300 ,20, "Je connais ce mot. "+Reponse_Recherche_def_1) est bien renvoyé quand ce même mot est trouvé dans la base de données.
Mon problème, c'est que étrangement, quand ce mot n'ai pas trouvé, il est bien sûr toujours dans sa variable d'origine phrase.s, mais que ça soit avec else ou elseif, TextGadget(#Text_1, 400, 10, 300 ,20, "Je ne connais pas ce mot !
"), ne s'affiche pas quand le mot saisi dans phrase.s n'existe pas dans la base de données.
Pour le moment, c'est vraiment super de pouvoir avoir le mot et sa définition qui s'affiche quand le mot est présent dans la table de la base de données. C'est simple, mais je suis content d'y être arrivé.
Mais, je ne comprends pas pourquoi Else et ElseIF ne renvoient rien. :/
Merci d'avance à qui sera résoudre ce mystère.
Bon dimanche.
Le but du code de mon programme, dont fait partie la portion de code suivante, est la recherche de mot dans un dictionnaire dans une base de données, avec les mots et leurs définitions.
Quand le mot saisi dans la variable phrase.s est trouver dans un enregistrement de la table langage et du champ mot, il y a bien le mot que j'ai saisi dans la variable phrase.s est donc le message TextGadget(#Text_1, 400, 10, 300 ,20, "Je connais ce mot. "+Reponse_Recherche_def_1) est bien renvoyé quand ce même mot est trouvé dans la base de données.
Mon problème, c'est que étrangement, quand ce mot n'ai pas trouvé, il est bien sûr toujours dans sa variable d'origine phrase.s, mais que ça soit avec else ou elseif, TextGadget(#Text_1, 400, 10, 300 ,20, "Je ne connais pas ce mot !

Pour le moment, c'est vraiment super de pouvoir avoir le mot et sa définition qui s'affiche quand le mot est présent dans la table de la base de données. C'est simple, mais je suis content d'y être arrivé.


Mais, je ne comprends pas pourquoi Else et ElseIF ne renvoient rien. :/
Merci d'avance à qui sera résoudre ce mystère.
Bon dimanche.

Code : Tout sélectionner
If DatabaseQuery(glDBSQLite, "SELECT * FROM langage WHERE mot = '" + Phrase + "'") <> 0
While NextDatabaseRow(glDBSQLite)
Reponse_Recherche_Mot = GetDatabaseString(glDBSQLite, 1)
Tampon_Reponse_Recherche_Mot = Phrase
Reponse_Recherche_def_1 = GetDatabaseString(glDBSQLite, 2)
If Reponse_Recherche_Mot = Phrase
;GetDatabaseString(glDBSQLite, 1)
TextGadget(#Text_1, 400, 10, 300 ,20, "Je connais ce mot. "+Reponse_Recherche_def_1)
ElseIf Reponse_Recherche_Mot <> Phrase
TextGadget(#Text_1, 400, 10, 300 ,20, "Je connais pas ce mot ! :(")
EndIf
Wend
FinishDatabaseQuery(glDBSQLite)
EndIf