helyoWAP

PÁGINAS WML GERADAS DINAMICAMENTE EM AMBIENTE ASP
 
(09)
SQL - Structured Query Language
 - Programa comentado bancow6.asp

Autores: Helio Fonseca Rosa e Andrea de Mello Rosa

Esta página contém 2 figuras grandes. Aguarde a carga se a conexão estiver lenta.


SQL - Structured Query Language

SQL é uma linguagem usada para consultar, atualizar e gerenciar bancos de dados relacionais, como o Microsoft Access, Visual Basic, etc.
Os próximos programas mostrarão um pouco desta linguagem.
Na listagem baixo, adaptada do programa banco3.asp, a tabela que contém os dados a serem consultados está armazenada na variável recProducts (recordset, lembra-se?), que é organizada de um modo especial, seguindo as instruções contidas na sentença SQL .
A sentença é : "Select ProductName, SupplierID FROM Products
ORDER BY ProductName" .
Sua "tradução" é a seguinte : Selecione os campos "Nome do Produto" e "Fornecedor" (Supplier) ordenados segundo o "Nome do Produto".

Programa bancow6.asp

<%
Response.ContentType = "text/vnd.wap.wml" 
%>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
" http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<p>
***** HELYOWAP *****<br/>
**ACCESS/NORTHWIND**<br/>
<%
DIM conNorthwind
DIM recProducts
const cntCaminho = "c:\inetpub\wwwroot\asp\northwind.mdb"
Set conNorthwind = Server.CreateObject("ADODB.Connection")
Set recProducts = Server.CreateObject("ADODB.Recordset")
conNorthwind.Open "driver={Microsoft Access Driver (*.mdb)};dbq="
& cntCaminho
recProducts.Open "Select ProductName, SupplierID FROM Products
ORDER BY ProductName"
,conNorthwind

Do While Not RecProducts.Eof
Response.Write recProducts.Fields("ProductName") & " " &
recProducts.Fields("SupplierID") & "<br/>"

recProducts.MoveNext
Loop
recProducts.Close
conNorthwind.Close
%>
</p>
</card>
</wml>

A sentença SQL deve ser armazenada em uma variável ( pssql, por exemplo ) e a abertura da tabela deve ser fracionada como:
pssql = "Select ProductName,"
pssql = pssql & "SupplierID FROM Products "
pssql = pssql & "ORDER BY ProductName"
recProducts.Open pssql,conNorthwind
Fique atento : na realidade, sempre que tentei colocar uma sentença SELECT de maior comprimento em uma única linha, ocorreu erro de execução, solucionado com um simples fracionamento como acima. O erro foi indicado na janela "Phone Information", associada ao simulador ( uma boa regra parece ser não exceder o tamanho normal de uma linha do Notepad, por exemplo).

A relação ordenada dos produtos pode ser vista parcialmente nas duas telas abaixo (a segunda obtida por rolagem) :

 

 

WirelessBRASIL                 Portal helyoWAP                    Anterior                    Próxima