addx_man
Messages postés19Date d'inscriptionlundi 5 décembre 2011StatutMembreDernière intervention 7 mars 2018
-
Modifié le 30 janv. 2018 à 10:40
nagaD.scar
Messages postés4271Date d'inscriptionsamedi 8 septembre 2007StatutMembreDernière intervention 4 janvier 2023
-
13 mars 2018 à 11:45
Bonjour,
Je suis apprentis et je viens d'intégré une nouvelle entreprise. On m'a confié pour mission de travailler sur une interface qui tourne en ASP.Net avec une base SQL, et dans laquelle je dois corriger une erreur que je n'arrive a pas a résoudre.
J'ai également une question concernant la syntaxe du code suivant:
foreach (String idHangar in idHangars) { if (idHangar != "") { if (i == 0) requeteHangars += " and (z.Id=" + idHangar + " "; else requeteHangars += " or z.Id=" + idHangar + " "; i++; } }
A quoi sert la parenthèse en gras/souligné au niveau de z.id=" +idHangar +""; ? De séparateur ? j'ai eu l'impression qu'elle étais en trop mais il y a des parenthèses similaire à d'autres endroits du code.
Je vous poste l'erreur en capture d'écran ainsi que l'interface afficher avant l'erreur, c'est quand ont envoi les filtres que l'erreur apparaît, en espérant que vous pourriez m'apporter une aide !
Merci à vous.
A voir également:
Echec de conversion dans la représentation interne
nagaD.scar
Messages postés4271Date d'inscriptionsamedi 8 septembre 2007StatutMembreDernière intervention 4 janvier 202316 30 janv. 2018 à 13:52
Salut,
En l'état tu donnes trop peu d'information: on est pas en mesure de voir toute la construction de la requete.
La parenthèse peu ou non être une erreur, ca va dépendre de tes conditions .. mais vu qu'on ne voit pas toute la construction de la clause, il n y a pas de réponses à donner.
D'après le message d'erreur, il semblerai justement que le problème provienne d'une parenthèse fermante qui en trop.
Bref au final: peux-tu nous montrer toute la construction de ta requête ? (à mininma la construction du where pour au moins vérifier la syntaxe)
naga
addx_man
Messages postés19Date d'inscriptionlundi 5 décembre 2011StatutMembreDernière intervention 7 mars 2018 30 janv. 2018 à 14:23
Sur la requête que j'ai posté, il y a une parenthèse fermente
foreach (String idHangar in idHangars) { if (idHangar != "") { if (i == 0) requeteHangars += " and (z.Id=" + idHangar + " "; else requeteHangars += " or z.Id=" + idHangar + " "; i++; } } if (i != 0) { requeteHangars += ")"; }
Je pense que le problème viens de la requête SQL, mais il y a trop de données a traité, j'ai vraiment du mal.
Je peu poster le SQL mais je ne sais pas si ça peu aider
Merci pour la réponse en tous cas !
nagaD.scar
Messages postés4271Date d'inscriptionsamedi 8 septembre 2007StatutMembreDernière intervention 4 janvier 202316 30 janv. 2018 à 14:30
encore une fois en l'état c'est assez limité, mais ce que l 'on peut surtout voir c'est que dans le cas ou il n'y a pas d'ID dans ta liste, ta requete aura une parenthèse fermante sans avoir été ouverte.
Je te conseil d'essayer de faire ceci:
bool bFilter = false ;
foreach (String idHangar in idHangars)
{
if (idHangar != "")
{
bFilter = true;
if (i == 0)
requeteHangars += " and (z.Id=" + idHangar + " ";
else
requeteHangars += " or z.Id=" + idHangar + " ";
i++;
}
}
if (bFilter)
{
requeteHangars += ")";
}
Whismeril
Messages postés18609Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention25 septembre 2023629 31 janv. 2018 à 07:43
Bonjour à tous les 2, je me permets un petit rappel sur la coloration syntaxique.
En l’état, vous l’utilisez mal tous les 2.
Il faut préciser de quel langage il s’agit, en cliquant sur la petite flèche vers le bas.
Exemple, vous:
30 janv. 2018 à 14:23
Je pense que le problème viens de la requête SQL, mais il y a trop de données a traité, j'ai vraiment du mal.
Je peu poster le SQL mais je ne sais pas si ça peu aider
Merci pour la réponse en tous cas !
30 janv. 2018 à 14:30
Je te conseil d'essayer de faire ceci:
redis moi.
naga