|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2009 Messages : 5 ![]() |
Bonjour à tous !
Après avoir cherché, je n'ai malheureusement pas trouvé de réponses à ma question : J'utilise un tMysqlInput qui fait un select en base, et qui est connecté via un lien Main à un tJavaRow (je joins l'image). Dans ce tJavaRow, je fais un println très simple, qui ne tiens pas en compte du row2. Si la requête renvoie des résultats, le tJavaRow est exécuté, mais si elle ne renvoie rien, le tJavaRow n'est pas executé. Comment faire pour ajouter un tJavaRow qui soit executé lorsque la requête ne renvoie aucune réponse ? J'ai bien envisagé d'ajouter un lien if sur le tMysqlInput, mais je ne vois pas sur quelle condition se baser. Merci d'avance et désolé pour cette question qui paraîtra sans doute absurde. |
|
|
00
|
|
|
#2 | |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Salut,
Oui l'idée est d'utiliser un lien If, et pour cela tu pourrais tester sur la condition suivantes : Citation:
N.B : Tu devras remplcer le "tMySqlInput_1" par le nom de ton composant.
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
|
10
|
|
|
#3 | |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Bon je viens de faire un test sur mon poste :
La bonne syntaxe est celle là ( j'ai utilisé un composant tOracleInput qui s'appelle tOracleInput_1) : Citation:
Bonne chance.
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
|
10
|
|
|
#4 |
|
Invité de passage
![]() Inscription : février 2009 Messages : 5 ![]() |
Merci pour ta réponse haskouse !
Malheureusement cela ne fonctionne pas dans mon cas. Je joins une capture du job plus globale, afin de faciliter la compréhension. Ce que je veux faire : Charger un fichier CSV contenant 30 lignes, pour chaque ligne, récupérer les éléments de la ligne, faire un algorithme de type "pour chaque élément de la ligne, je regarde si il est dans mon cache (une collection de type Map simple). Si il n'y est pas, je regarde en base, si il est présent, alors je le met dans la Map et continue le traitement. Sinon, je l'insére, récupère l'id, et met l'information dans la Map. En gros une stratégie de cache classique. Mais le traitement ne va jamais jusqu'au tJavaRow_13 (dans lequel j'ai un sysout classique), j'ai essayé avec un lien de type "on subjob ok" et "on component ok". D'autre part, en sortie de mon tMap, et pour chaque branche Main, j'ai bien 30 row qui passent, mais en sortie de mon tJavaRow, j'ai l'impression qu'il n'y a qu'une ligne qui arrive dans le tMysqlInput. Y'a t'il quelque chose à faire dans le tMysqlRow ? merci d'avance encore une fois pour mes questions de novice. |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Salut,
Après la sortie de ton main, sin on prend la ligne d'en haut de ta capture d'écran (userInfo) : Est ce que le tJavaRow_1 s'execute correctement ? Sinon, est ce que tu peux remplacer tes tJavaRow par des composants tJava ??
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : février 2009 Messages : 5 ![]() |
Bonjour haskouse,
Oui le composant fonctionne bien (si je met un System.out.println("toto");, j'ai bien 30 "toto" qui s'affichent. |
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Rémy DUBOISIngénieur développement logiciels Inscription : août 2008 Messages : 88 ![]() |
La variable est de type after. Ce qui signifie qu'elle peut être utilisée dans un sous job different. Pourquoi ? Car elle est settee dans le end du composant, une fois que toutes les lignes ont ete lues. Donc c est une mauvaise solution.
|
|
|
00
|
|
|
#8 | |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Citation:
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : février 2009 Messages : 5 ![]() |
Merci encore haskouse
Oui si je mets un tFilterRow ça passe, mais le tFilterRow ne permet de faire que des choses simples sur les lignes ? Avec les 4 fonctions et les 4 opérateurs de base ? Si je veux une condition plus poussée, y a t'il un moyen ? (par exemple aller regarder dans la globalMap si une info est présente et si oui laisser passer la ligne) Merci encore pour tes réponses ! |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Y' pas de quoi me remercier !!
Si tu veux une fonction plus poussée pour tes tests ty pourrais la coder toi même en ajoutant une routine avec le nombre d'arguments que tu veux et qui renvoie un bouleen. Pour la création des routines je te renvoi vers ce tuto : http://haskouse.developpez.com/tutor...ation-routine/ Bonne chance.
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : février 2009 Messages : 5 ![]() |
Effectivement, merci encore.
Je continue dans ma lancée : je veux faire un tMysqlRow dans lequel je fais une requête (j'utilise un tMysqlRow car je suis juste derrière un tJavaRow), et je veux, dans le cas ou la requête ne renvoie rien, inserer quelque chose en base. Quelle est la bonne façon de faire ? Merci encore |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com