Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour
J'essaye de faire un find sur un datastore, je cherche un enregistrement dont par sa date.
J'ai donc
ls_FindText="cod_soc='" +ls_soc+"' and cod_dev='"+ls_dev+"' and dat_val='"+string(dt)+"'" ll_foundrow =ids_change.Find( ls_FindText, 1, ll_nbr)
Mais j'ai toujours un code retour -5 qui vient de le recherche sur la valeur datetime.
J'ai essaye aussi
dat_val="+string(dt)
On peut faire un find sur une valeur datetime (PB10.2 oracle 10gexpress)?
Merci
Yann
Dernière modification par ydl (15-01-2010 08:09:56)
Hors ligne
Bonjour,
As tu pensé à ceci ?
The search is case sensitive. When you compare text to a value in a column, the case must match.
When the Find expression includes quotes
If the text you want to find includes quotes, you must treat the nested quote as doubly nested, because the DataWindow parses the string twice before the Find method uses it. Therefore, you cannot simply alternate double and single quotes, as you can in most strings.
For example, to find the name O'Connor, the Find expression can be:
"O~~~'Connor" (3 tildes and single quote) or
"O~~~~~"Connor" (5 tildes and double quote)
but not:
"O'Connor" or "O~"OConnor"
Essaie également ceci:
Récupérer le contenu du String de ton Find et ensuite le tester directement dans une requête SQL avec Where Clause.
Cela te permettra de voir s'il c'est correct.
Tu peux ensuite également vérifier le Cast de ta date (yyyy/mm/dd ou autre), ca pourrait être également intéressant.
Bonne chance.
Hors ligne
J'ai contourné le problème en utilisant un compute dans la dw qui concatène les trois critères et je fais une recherche sur ce dernier qui est obligatoirement unique.
Hors ligne