Bancos de Dados, SQL e ODBC - parte III

por Fernando D'Angelo 8. dezembro 1999 00:00

Consultando Banco de dados

Nesta terceira parte, iremos abordar a consulta aos bancos de dados. Primeiramente, iremos abordar a correta sintaxe das strings SQL, e em seguida, como utilizar estas strings com ASP. Para tanto, estaremos disponibilizando alguns exemplos.

A partir de uma base de dados existente, é possível a consulta utilizando filtros, como por exemplo, gerar uma consulta numa tabela de cadastro onde mostrando todos os registros cujo estado é SP. Seguem abaixo alguns exemplos de strings SQL de consultas:

sintaxe: "select [campo1, campo2, campo3,...] from tabela where campo1 = 'valor' and(or) campo2 = 'valor2'"

Veja os exemplos de instruções SQL:

"select * from cadastro" - seleciona todos os campos de todos os registros da tabela cadastro.

"select nome, email, telefone, estado from cadastro" - seleciona os campos nome, email, telefone e estado de todos os registros da tabela cadastro.

"select nome, email, estado from cadastro where estado = 'SP' " - seleciona os campos nome, email e estado apenas dos registros cujo estado é SP.

"select nome, email, estado, idade from cadastro where idade = '23' and estado = 'SP' " - seleciona os campos nome, email, estado e idade apenas dos registros cuja idade é 23 e o estado é SP.

"select nome, email, estado, idade from cadastro where estado = 'SP' or estado = 'AM' " - seleciona os campos nome, email, estado e idade apenas dos cadastros onde o estado é SP ou AM.

"select nome, email, estado, idade from cadastro where idade = '23' or estado = 'SP' " - seleciona os campos nome, email, estado e idade apenas dos cadastros onde o estado é SP ou a idade é 23.

Uma vez feita a consulta, uma "cópia" da tabela, contendo apenas os registros selecionados é gerada na memória do servidor, e então o ASP tem acesso a essa "cópia" e não à tabela de onde esses valores realmente se encontram. Veja o exemplo a seguir:

<%

sqlstmt = "select nome, email, estado, idade from cadastro where idade = '23' and estado = 'SP' "

Set conn = server.createobject("adodb.connection") 'abre a conexão com o banco de dados

conn.open "nome_da_ligacao_ODBC" 'avisa qual banco de dados será utilizado na consulta

set rsquery = conn.execute(sqlstmt) 'executa a instrução SQL contida na variavel sqlstmt

while not rsquery.eof

%>

<%=rsquery("campo1").value%>

<% rsquery.movenext

wend

%>

A rotina acima seleciona os campos nome, email, estado e idade de todos os registros cujo campo idade tem o valor 23 e o estado valor SP.

PS: para criar a string SQL, você pode utilizar soma de strings e variáveis, o que permite que strings SQL sejam criadas dinamicamente, a partir de um valor inserido num formulário. Veja o exemplo:

Estrutura do Banco de Dados:
nome do banco de dados: teste.mdb
path do banco de dados: c:\teste
nome da conexao ODBC: TESTE_ODBC
tabela a ser consultada: agenda
campos da tabela agenda: nome, email, cidade, estado, idade


Formulario para insercao do nome

<form method="post" action="consulta.asp"> <input type="text" name="chave" value=""> <input type="submit" name="submit" value="Gerar Consulta"> </form>

abaixo, script de consulta

<%

'criacao da string SQL

sqlstmt = "select * from agenda where nome = '" & request.form("chave") & "' order by idade"

set conn = server.createobject("adodb.connection")

conn.open "TESTE_ODBC"

set rsquery = conn.execute(sqlstmt)

%>

<table>
<%
while not rsquery.eof %>
<tr><td><%=rsquery("nome")%></td><td><%=rsquery("email")%></td><td><%=rsquery("idade")%></td></tr>
<%
rsquery.movenext
wend
rsquery.close
set rsquery = nothing
set conn = nothing
%>
</table>

Tags:

Posts Antigos




Comentários

Comentar




  Country flag

biuquote
  • Comentário
  • Pré-visualização
Loading




Calendário

<<  fevereiro 2012  >>
seteququsedo
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

Ver os posts em um calendário maior

Oportunidades


Para divulgar oportunidades aqui, entre em contato conosco enviando a descrição completa da vaga + uma data de validade para cada uma delas.

* As vagas divulgadas neste espaço são de inteira responsabilidade das empresas anunciantes.

Assine Nossa Newsletter

Quero ser notificado quando um novo Post for publicado