PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → OLEDB / Select like
OLEDB / Select like
Iniciado por Raphael Swaab, 10,ene. 2020 16:41 - 5 respuestas
Miembro registrado
3 mensajes
Publicado el 10,enero 2020 - 16:41
Bonjour,

Je viens de migrer mon projet WD23 en WD25.

En WD23, cette requête me retourne des enregistrements.
SELECT * FROM MOUVEMENT WHERE MVT_CLIENT like '105120' AND MVT_LOT like '9K4088B060'

En WD25, la requête ne me retourne rien.
Pour qu'elle fonctionne, je dois placer des blancs après les valeurs recherchées.
SELECT * FROM MOUVEMENT WHERE MVT_CLIENT like '105120 ' AND MVT_LOT like '9K4088B060 '

Rien d'étonnant car les valeurs enregistrées dans la table on bien des blancs après.
Quelqu'un aurait'il une idée de ce qui a changé au niveau de WD25 ?
Pour info, j'utilise une connexion OLE DB Sql server.
J'aimerais trouvé le moyen pour que mon projet WD25 fonctionne comme auparavant en WD23.
Cela m'éviterais de changer énormément de lignes de code...

Un grand merci d'avance

:merci:
Miembro registrado
3 mensajes
Publicado el 13,enero 2020 - 11:05
Petit up
Publicado el 13,enero 2020 - 11:10
Bonjour,

Si il y a des blancs après la valeur recherchée, essayes de modifier ta requête tel que :

SELECT * FROM MOUVEMENT WHERE MVT_CLIENT like '105120%' AND MVT_LOT like '9K4088B060%'

Le fait de faire ceci (ajouter le signe %) lance la recherche sus tous les mouvements dont MVT_CLIENT commence par '105120'. Idem pour la recherche sur MVT_LOT.
Miembro registrado
3 mensajes
Publicado el 13,enero 2020 - 12:12
Merci pour la réponse. :)

Malheureusement il me faut exactement la bonne valeur et non tout ce qui se termine par.
Miembro registrado
352 mensajes
Publicado el 13,enero 2020 - 12:36
Bonjour.
SELECT * FROM MOUVEMENT WHERE TRIM(MVT_CLIENT)='105120' AND TRIM(MVT_LOT)='9K4088B060'
Miembro registrado
4.362 mensajes
Publicado el 13,enero 2020 - 16:01
Raphael Swaab a écrit :

Malheureusement il me faut exactement la bonne valeur

Dans ce cas, "LIKE" n'est pas approprié https://sql.sh/cours/where/like il faut utiliser "="

--
Il y a peut être plus simple, mais, ça tourne