ginomellino

Performance: Non case-sensitive where clause for IQueryFilter

Discussion created by ginomellino on Mar 20, 2013
Latest reply on Mar 21, 2013 by ginomellino
Hi all,

I have a variety of different Shapefiles/SDE Featureclasses/File GDB Featureclasses which I need to perform attribute queries on. I need to develop a way which will ignore the varierty of case types present in these data sources. Currently I have used the following which do work.

   pQF.WhereClause = "UPPER(" & pField & ") = '" & pSearchText.ToUpper & "'"


This works but performance is decreased as this ignores field indexing on the data.

   pQF.WhereClause = pField & " = '" & pSearchText.ToUpper & "' OR " & pField & " = '" & pSearchText.ToLower & "' OR " & pField & " = '" & StrConv(pSearchText, VbStrConv.ProperCase) & "'"


This also works but again it does not perform well, I guess because it has to search the a number of times for the different cases. My question is: Is there a faster way to implement case insensitivity (I am not able to 'clean' the data)?

Thanks muchly in advance.
Gino

Outcomes