Professional Documents
Culture Documents
Neste tutorial o que se pretende é dar uma breve introdução à linguagem a que é tão útil para fazer
pesquisas em Bases de Dados. Este tutorial não trará nada de novo para quem já mexe em a .
Não vamos falar de VB, nem de programação em geral, apenas a . Vamos assumir que temos uma base de
dados de um programa que gere uma escola, e dentro dessa R R
R
! "
.
A grande vantagem do a é que geralmente todas as grandes ferramentas de Bases de Dados têm uma
implementação nativa da linguagem, fazendo com que a pesquisa através dela seja muito mais rápida. Por outro
lado, é uma linguagem muito semelhante ao inglês o que facilita bem as coisas. Vamos então ver um exemplo desta
semelhança.
Vamos imaginar que % %& '. Se pudéssemos
escrever em português normal seria:
a
Em inglês seria:
Em a será:
a !"#$%
&'$
()
*
Como podem verificar, é praticamente inglês...Mas vejamos então o que significam as palavras a azul.
% % . Na frase de cima,
as palavras reservadas estão a azul.
Vamos então ver como faríamos para
R Ô
**
Selecciona o campo NomeProprio databela Alunos em que o NomeProprio seja igual a João.
a
a !
#$%
&'$
()
*
Mas vamos imaginar que afinal %+ $ %+ R#
Bom, " $R ,
a !
-
#$%
&'$
()
*
Quem diz dois campos, diz três ou quatro, ou dez ou vinte. Basta ir separando por virgulas os nomes dos
campos. É claro que se o nome do campo estiver mal escrito recebem um erro a dizer que não é possível encontrar o
campo.
Isto é tudo muito bom, R#% - . Pois é e procurar por
números é sempre muito bom. Então . " #% $
)) R .,
a !D#$%
&'$
(./01
Aqui voltamos a seleccionar todos os campos, mas desta vez a condição é que o Código Postal seja igual a 1230.
Em português:
a
Em inglês seria:
Em a será:
a !"#$%
&'$
()
*3
()
*
Exactamente, temos disponível o operador 3 que sinceramente dá muito jeito. É claro que R#
/001 & % Ô
Vamos aproveitar então agora um bocadinho para falar sobre as condições. Existem %
$ 1,
Ë4Maior que
5Ë4Diferente
Quando utilizamos qualquer destes símbolos o motor a devolve sempre todos os registos que façam com que a
condição seja verdadeira. Portanto vamos ver alguns exemplos:
a !D#$%
&'$ Selecciona os alunos cujo Código Postal seja maior que
Ë./01 1230
a !D#$%
&'$ Selecciona os alunos cujo Código Postal seja menor que
5./01 1230
a !D#$%
&'$ Selecciona os alunos cujo Código Postal seja maior ou igual
Ë(./01 a 1230
a !D#$%
&'$ Selecciona os alunos cujo Código Postal seja menor ou
5(./01 igual a 1230
a !D#$%
&'$ Selecciona os alunos cujo Código Postal seja diferente de
5Ë./01 1230
Porém R#" % #%" 2
" R &R R"
a !D#$%
&'$
5)
*
6-
-78
6-78-
a" & &# " R
% . Utilizando qualquer um dos outros operadores a
lógica será a mesma, mas adaptada à função do operador.
Bom, agora que já vimos a utilização dos operadores era bom irmos um bocadinho mais longe. Uma coisa que
provavelmente dá muito jeito seria - " R# Imaginemos que estamos a
disponibilizar uma listagem dos alunos, é claro que para o utilizador é muito mais agradável ver uma lista ordenada
alfabeticamente do que uma com ͞tudo ao molho͟. Para isso temos que construir a string a .
a
a !"#$%
&'$
()
*$3$9:
Nesta string a única novidade é a seguir ao Nome. Temos $3$9:. Mais uma palavra reservada do a . O
que esta palavra faz é ordenar os resultados obtidos pelo campo que especificámos, neste caso
.
No entanto poderemos querer -
* %
R#
3
a !"#$%
&'$
()
*$3$9:
-
-
%
Ficamos assim com os registos ordenados por NomeProprio, seguidos de uma ordenação por NomePai e
finalmente por NomeMae. A #" , a não ser que seja especificado o
contrário. Como é que podemos fazer isso? Existem as ;;
a 3a .O que fazem é especificar se
"
!
Ô
!
Ô Algo a ter em atenção é que os valores nulos ou vazios são sempre considerados
como sendo os mais pequenos.
Vamos então
R#.
Então temos:
a !"#$%
&'$
()
*$3$9:
-
3a -
%
a
Uff, já temos ordenações, igualdades e desigualdades e será que ainda falta alguma coisa para se conseguir
mexer basicamente com a linguagem a ? Bom à primeira vista não, diriam vocês já que temos pouca coisa que
dará para fazer muito. É verdade sim senhor, mas eu quando mexo numa aplicação (como user, não programador)
que faz uma procura numa base de dados gosto sempre de escrever o mínimo possível. Actualmente como
programador também evito escrever muito, a não ser que seja necessário, mas enfim, isso não interessa para nada.
Vamos então ver como " $ % .
Em português teríamos:
a
Em inglês seria:
Em a será:
a !"#$%
&'$
7< )=*
Bom aqui apareceu umas coisas novas que é preciso explicar. A palavra reservada 7<e aquela coisa feia entre
as ͚ ͚ (plicas).
A $%"" % #% # . Ou seja, se em vez de
termos:
a !"#$%
&'$
( )
*
Tivermos:
a !"#$%
&'$
7< )
*
O a retorna exactamente o mesmo. A única diferença é que nesta situação é muito mais lógico utilizar o (em
vez do 7<.
Vamos então ver o que temos entre ͚ ͚ (plicas). Bom o # % " $
8ºaº* $% 5 % % % &
R % &a%# * R
& $+
No entanto é + % *. Para isso
podemos fazer:
a !"#$%
&'$
7< )=
*
Basicamente o +R " 69 7* % %
R+R * & #..
Falta referir e mesmo para terminar uma %#'cº% " $#*
& . Podemos utilizar o ! antes de uma condição apesar de não ser muito usual, por
exemplo poderíamos ter o seguinte:
a !"#$%
&'$
( )
*3!
()
6*
a !"#$%
&'$
( )
*3
5Ë)
6*
a !"#$%
&'$
!7< )=
*
E assim seleccionamos apenas os alunos cujo nome não começa em nem termina em
.