Galera estou com as seguintes duvidas…
Na especificação tenho o seguinte:
It must allow the user to search the data for all records, or for records where the name and/or location fields exactly match values specified by the user.
Pelo que entendi devo procurar os registro usando o campos name e location, mas a questão é, uso o operador “and” ou o “or” quando o usuário buscar registro com os dois campos?
Dúvida na SCJD
9 Respostas
Pela própria especificação da SCJD, se não me engano, o próprio usuário deve construir esse tipo de query.
and/or = e/ou
Ou seja:
- o nome bate,
ou - o endereço bate,
ou - o nome bate, assim como o endereço.
Obrigado por Responder!!!
Então eu devo ter um comboBox para o usário selecionar se for “AND” ou “OR”…
and/or = e/ouOu seja:
- o nome bate,
ou- o endereço bate,
ou- o nome bate, assim como o endereço.
Obrigado por responder, mas não entendi nada…
Ainda não entendeu? Ele está pedindo que você faça uma tela e possa buscar um registro segundo um dos três critérios:
a) Só o nome precisa bater - o endereço não precisa bater;
b) Só o endereço precisa bater - o nome não precisa bater;
c) O nome e o endereço têm de bater.
O operador, se é que você ainda não conseguiu ligar os pontos, pode ser AND ou OR. Depende da escolha que o usuário fizer.
Ainda não entendeu? Ele está pedindo que você faça uma tela e possa buscar um registro segundo um dos três critérios:a) Só o nome precisa bater - o endereço não precisa bater; b) Só o endereço precisa bater - o nome não precisa bater; c) O nome e o endereço têm de bater.O operador, se é que você ainda não conseguiu ligar os pontos, pode ser AND ou OR. Depende da escolha que o usuário fizer.
Toda vez que o usuário fornecer o nome e endereço na pesquisa, a pesquisa será sempre “AND”?
O que já vi em muitos sistemas é que, se você não preenche um determinado campo, ele não é considerado na busca, e se você preenche N campos, esses N campos são considerados na busca.
Você pode explicar na sua documentação que se você preencher o nome e o endereço, então você irá procurar usando AND.
Ainda não entendeu? Ele está pedindo que você faça uma tela e possa buscar um registro segundo um dos três critérios:a) Só o nome precisa bater - o endereço não precisa bater; b) Só o endereço precisa bater - o nome não precisa bater; c) O nome e o endereço têm de bater.O operador, se é que você ainda não conseguiu ligar os pontos, pode ser AND ou OR. Depende da escolha que o usuário fizer.
Então, utilize o or…
se um ou o outro bater…nesse caso, os registros que vierem com and tmb estarão válidos fazendo or…
O que já vi em muitos sistemas é que, se você não preenche um determinado campo, ele não é considerado na busca, e se você preenche N campos, esses N campos são considerados na busca.Você pode explicar na sua documentação que se você preencher o nome e o endereço, então você irá procurar usando AND.
Mais uma dúvida, na especificação o comentário do metodo "find "da interface DB diz o seguinte…
/**
* Returns an array of record numbers that match the specified criteria.
*
* @param criteria
* a <code>String</code> array containing critiera
* corresponding to fields in the database. Field n in the
* database file is described by criteria[n]. A null value in
* criteria[n] matches any field value. A non-null value in
* criteria[n] matches any field value that begins with
* criteria[n]. (For example, "Fred" matches "Fred" or "Freddy".)
* @return an <code>int</code> array of record numbers matching the
* specified criteria.
*
*/
public int[] find(String[] criteria);
É para buscar nomes que começam com o fornecido… e no documento HTML da especificação vejo a seguinte :
"It must allow the user to search the data for all records, or for records where the name and/or location fields exactly match values specified by the user ". Me parece para buscar os nome / endereço que são exatamente iguais ao fornecido pelo usuário. Devo pesquisar por “começar pelo valor fornecido” ou “exatamente igual ao campo fornecido”?