Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
collection.query( )
|
collection.query ( argPesq {; valor}{; valor2 ; ... ; valorN}{; querySettings}) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
argPesq | Texto |
![]() |
Argumento da pesquisa | |||||
valor | Mixed |
![]() |
Valores a comparar quando usar placeholders | |||||
querySettings | Objeto |
![]() |
Opções de consulta: parâmetros, atributos | |||||
Resultado | Collection |
![]() |
Elementos que coincidem com o argumPesq na coleção | |||||
O método collection.query( ) devolve todos os elementos de uma coleção que coincidem com as condições de pesquisa definidas por argumPesq e (opcionalmente) valor e querySettings. Se a coleção original for uma coleção compartida, a coleção devolvida também é uma coleção compartida.
Nota: este método não modifica a coleção original.
O parâmetro argumPesq utiliza a sintaxe abaixo:
propertyPath comparator value {logicalOperator propertyPath comparator value}
Para informação detalhada sobre como construir uma pesquisa usando parâmetros queryString, valor e querySettings, veja a descrição do método dataClass.query( ).
C_COLLECTION($c)
$c:=New collection
$c.push(New object("name";"Cleveland";"zc";35049))
$c.push(New object("name";"Blountsville";"zc";35031))
$c.push(New object("name";"Adger";"zc";35006))
$c.push(New object("name";"Clanton";"zc";35046))
$c.push(New object("name";"Clanton";"zc";35045))
$c2:=$c.query("name = :1";"Cleveland") //$c2=[{name:Cleveland,zc:35049}]
$c3:=$c.query("zc > 35040") //$c3=[{name:Cleveland,zc:35049},{name:Clanton,zc:35046},{name:Clanton,zc:35045}]
C_COLLECTION($c)
$c:=New collection
$c.push(New object("name";"Smith";"dateHired";!22-05-2002!;"age";45))
$c.push(New object("name";"Wesson";"dateHired";!30-11-2017!))
$c.push(New object("name";"Winch";"dateHired";!16-05-2018!;"age";36))
$c.push(New object("name";"Sterling";"dateHired";!10-5-1999!;"age";Null))
$c.push(New object("name";"Mark";"dateHired";!01-01-2002!))
Este exemplo devolve a pessoas cujo nome contenha "in":
$col:=$c.query("name = :1";"@in@")
//$col=[{name:Winch...},{name:Sterling...}]
Este exemplo devolve as pessoas cujo nome não comece com uma string de uma variável (ingressada pelo usuário, por exemplo):
$col:=$c.query("name # :1";$aString+"@")
//if $astring="W"
//$col=[{name:Smith...},{name:Sterling...},{name:Mark...}]
Este exemplo devolve as pessoas cuja idade não se conhece (propriedade definida como nula ou indefinida):
$col:=$c.query("age=null") //placeholders não são permitidos com "null"
//$col=[{name:Wesson...},{name:Sterling...},{name:Mark...}]
Este exemplo devolve as pessoas contratadas há mais de 90 dias:
$col:=$c.query("dateHired < :1";(Current date-90))
//$col=[{name:Smith...},{name:Sterling...},{name:Mark...}] if today is 01/10/2018
Nota: este último exemplo requer que esteja marcada a opção de compatibilidade "Utilizar o tipo de data ao invés do formato de data ISO em objetos" (ver Página Compatibilidade).
Mais exemplos de pesquisas podem ser encontrados em dataClass.query( )
.
collection.indices( )
dataClass.query( )
entitySelection.query( )
Produto: 4D
Tema: Coleções
Número
805267
Criado por: 4D v16 R6
Modificado: 4D v17 R5
Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)
Manual de linguagem 4D ( 4D v19.4)
Manual de linguagem 4D ( 4D v19.5)
Manual de linguagem 4D ( 4D v19.6)
Manual de linguagem 4D ( 4D v19.7)
Manual de linguagem 4D ( 4D v19.8)