requête postgres select ne renvoie pas les résultats?

Je développe une application Java, et j'utilise resultset. J'écris cette requête, ça marche et j'obtiens les résultats

SELECT * 
FROM BD 
WHERE 
    CAST(parent_id AS integer) = " + (Integer.parseInt(arrHeading[0])) + " 
    AND CAST(section AS double precision) = " + Double.parseDouble(arrHeading[1]) + "";

arrHeading is type string, but when I write the query below it does not return any results. cas is type character varying(12). I am having trouble because it's a character, and I dont know why I am not getting any result. I tried with the quotes but still does not work. Any ideas?

SELECT * 
FROM BD 
WHERE 
    CAST(parent_id AS integer) = " + (Integer.parseInt(arrHeading[0])) + " 
    AND CAST(section AS double precision) = " + Double.parseDouble(arrHeading[1]) + "
    AND cas = '" + arrHeading[2] + "'";
0

1 Réponses

Je suggère de remplacer d'abord arrHeading [2] avec la valeur réelle dans la requête, c'est-à-dire hardcode cas = "'votre valeur" "et voir si la requête retourne un résultat

0
ajouté
Je remplace par SELECT * FROM BD WHERE CAST (parent_id AS entier) = "+ (Integer.parseInt (arrHeading [0])) +" ET CAST (section AS double précision) = "+ Double.parseDouble (arrHeading [1]) + "ET cas = '" + "B1" + "'", et j'obtiens des résultats
ajouté l'auteur bentham, source
Il imprime B1, c'est une chaîne
ajouté l'auteur bentham, source
Je reçois SELECT * FROM BD WHERE CAST (parent_id AS entier) = 19 ET CAST (section AS double précision) = 1665.0 ET cas = 'B1'
ajouté l'auteur bentham, source
oui c'était pour un espace blanc supplémentaire merci je n'ai pas remarqué
ajouté l'auteur bentham, source
il semble arrHeadin [2] avoir un espace blanc supplémentaire, utilisez arrHeading [2] .trim ()
ajouté l'auteur coder, source
@bentham - que montre l'impression arrHeading [2] ?
ajouté l'auteur dezso, source
@bentham - et si vous imprimez votre chaîne de requête?
ajouté l'auteur dezso, source