|
Los métodos BSQFindAll
y BSQFindOne de la interface IC permiten
realizar búsquedas en InstanceCollections usando BSXs (BScript
eXpressions) que tienen
un formato especial denominado BSQ (BScriptQuery).
Una BSX BSQ (BSQ) especifica un criterio de
selección que se aplicara a todas las Instances de una
InstanceCollection para extraer aquellas que verifican el criterio.
Las BSQs deben devolver T para las Instances que
verifican el criterio y NIL en caso contrario.
En las BSQ se debe agregar el prefijo "@" a los "column-names" de la InstanceCollection que intervienen en el criterio de
selección.
Así si la InstanceCollection tiene una columna cuyo nombre es "Birthdate" en la BSQ debe usarse "@Birthdate".
| El prefijo "@" indica al procesador BScript que debe buscar el valor en una columna determinada
de la Instance que esta procesando. |
Por ejemplo, la sentencia
BL a = icEmployees.BSQFindAll("(between @Birthdate #1950-01-01# #2005-01-01#)");
devuelve una lista que contiene las IT de todos las personas en la InstanceCollection "icEmployees" que nacieron entre el 1950-01-01 y el 2005-01-01 (incluidos ambas fechas limite).
La función "between" es una función predefinida en BScript que opera con fechas,
números y strings.
En la BSQ se pueden utilizar los operadores "and", "or" y
"not" para combinar y estructurar las condiciones.
En la BSQ pueden usarse funciones previamente definidas y también funciones lambda definidas en la misma BSQ.
El siguiente ejemplo incluye los operadores "and" y "eq":
BL a = icPersons.BSQFindAll("(and (between @Birthdate #1950-01-01# #2005-01-01#) (eq @LastName "Brossens"))");
Las funciones predefinidas "like" y "scontains" operan sobre strings:
BL a = icPersons.BSQFindAll("(and (between @Birthdate #1950-01-01# #2005-01-01#) (like "Bross" @LastName))");
BL a = icPersons.BSQFindAll("(and (between @Birthdate #1950-01-01# #2005-01-01#) (scontains "oss" @LastName))");
| Toda la funciónalidad del lenguaje BScript esta disponible
para las búsquedas y la extensibilidad de BScript permite incorporar nuevas funciones para ser utilizadas en
los criterios de selección (ver BScript - Extensión). |
Ver también
|