Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Regex and multiple word search
Message
 
 
À
09/07/2009 10:39:04
Information générale
Forum:
Visual FoxPro
Catégorie:
COM/DCOM et OLE Automation
Versions des environnements
Visual FoxPro:
VFP 9
Divers
Thread ID:
01411109
Message ID:
01411157
Vues:
22
>>I don't see that much of a difference.
>>
>>Create cursor WordsToSearch(Word C(50))
>>
>>insert into WordsToSearch values ('Word1')
>>insert into WordsToSearch values ('Another Word')
>>insert into WordsToSearch values ('Yet another')
>>lnI = 0
>>scan
>>  lnI = lnI + 1
>>  
>>   lcWord = ' ' + WordsToSearch.Word + ' '
>>   if lnI = 1
>>    select * from myTable where ' ' + myFieldToSearch + '  '  LIKE '%' + lcWord + '%' into cursor OurTempResult nofilter
>>   else
>>        select * from OurTempResult where ' ' + myFieldToSearch + '  '  LIKE '%' + lcWord + '%' into cursor OurTempResult nofilter
>>    endif
>>   ** Or alternatively
>>
>>       select * from myTable where lcWord $ '  ' + myFieldToSearch + '  '
>>endscan
>>
>>
>>vs. one Select solution. (this is from the top of my head - your idea of searching for each word in a loop)
>
>If you take a closer look at my solution, you will see that it's very flexible since you can have any number of words in the search string.

I think we set up the initial requirements slightly differently - I pass a cursor of words to search, you pass a string with words, but at the end, I still don't see a difference between using a FOR loop or a scan?

Also, wouldn't your current solution (as you presented it) find words inside the words?

E.g.

Search string 'My big bad dog ate my whole dinner'

Table

'My biggest hotdog is wholesome and grateful"

Would your search find this record?
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform