01 - conceito comandos e funções do asp.net

Upload: ivan-sousa

Post on 13-Oct-2015

14 views

Category:

Documents


0 download

TRANSCRIPT

ASP - ACTIVE SERVER PAGES

ASP - ACTIVE SERVER PAGES O que

Vantagens do ASP

Itens a vertificar no servidor

Perguntas comuns sobre ASP

Tutorial de ASP

O que As ASP (Active Server Pages - Pginas de Servidor Ativas) so um ambiente para programao por scripts no servidor, que voc pode usar para criar pginas dinmicas, interativas e de alta performance. Como as pginas ASP, os scripts rodam no servidor e no no cliente. o prprio servidor que transforma os scripts em HTML padro, fazendo com que qualquer browser do mercado seja capaz de acessar um site que usa ASP.

Entre os recursos que podem ser implementados via ASP, podemos citar:

Programao em VBScript ou JScript

Acesso a banco de dados

Sesses (persistncia de informaes no servidor)

ASP surgiu juntamente com o lanamento do Internet Information Server 3.0. Esta uma soluo Microsoft, que exige que o seu servidor precisa rodar um sistema operacional da Microsoft (Windows 95 ou NT). Os seguintes servidores suportam o uso de pginas ASP:

Microsoft Internet Information Server verso 3.0 no Windows NT Server

Microsoft Peer Web Services verso 3.0 no Windows NT Workstation

Microsoft Personal Web Server no Windows 95 ou Windows 98

A grande vantagem, porm, que existe esta exigncia apenas do lado do servidor. No lado do cliente, voc pode utilizar qualquer browser, mesmo os que no suportam VBScript (como os da Netscape).

Vantagens do ASP Independncia do browser: ASP pode rodar pginas complexas no servidor e enviar somente os resultados para o cliente.

Pginas x Bancos de Dados: Permite visualizar, atualizar e adicionar informaes nos servidores SQL

Segurana do cdigo fonte: Como o Servidor retorna somente o resultado html, o cdigo fonte (lgica) fica preservada.

Linguagens: O ASP pode utilizar de comandos em VBScript, JavaScript e Html.

Itens a verificar no seu servidorPara utilizar ASP em suas homepages, voc precisa atender aos requisitos acima. Uma situao ideal utilizar o Microsoft FrontPage 98 ou o Microsoft Visual InterDev (parte do Microsoft Visual Studio) para editar as pginas, mas isso no necessrio. Voc pode chegar l apenas usando o Notepad.

Antes de mais nada:

Certifique-se que o computador que hospedar as pginas roda Windows NT Server, Windows NT Workstation, Windows 95 ou Windows 98.

Certifique-se que voc possui o Microsoft Internet Information Server (IIS), o Peer Web Services (PWS) ou o Personal Web Server (PWS, tambm) instalado neste computador. O Windows NT 4.0 vem com a verso 2.0 do IIS, que no suficiente. Procure na Internet (http://www.microsoft.com/iis) o IIS verso 3 ou 4.

Se voc pretende usar os recursos de acesso a bancos de dados, certifique-se os dados esto acessveis atravs de ODBC. Voc precisar de um driver de ODBC instalado e funcionado no servidor. Se voc optou por usar o Access, instale uma verso 7.0 (95) ou superior no Servidor. Isto garantir a presena do driver ODBC e facilitar a criao dos seus bancos de dados. Se voc preferir utilizar o SQL Server, garanta que o driver ODBC est instalado.

Se voc pretende usar os recursos de acesso a bancos de dados, verifique a existncia de uma "Fonte de Dados" ODBC para este banco de dados. Isto feito usando a opo "ODBC" do "Painel de Controle" do Windows. Se for usar o SQL Server, crie um usurio com direito para acessar este banco de dados.

Crie um diretrio para guardar as pginas ASP no seu servidor. Inclua este diretrio na lista do IIS/PWS, dando direito de "Execute/Execuo". As pginas ASP s podem ser rodadas a partir de um diretrio com o direito de "Execuo". No habilite a opo de "Read/Leitura", para aumentar sua segurana neste diretrio.

Garantidos os itens acima, voc pode criar sua primeira pgina ASP.

Perguntas comuns sobre ASPQue linguagens script so suportas pelas ASP?H suporte nativo para JScript (o JavaScript da Microsoft) e VBScript. Existem plug-ins ActiveX para dar suporte para outras linguagens como REXX, PERL, and Python.

Que browsers suportam ASP?Todos os browsers suportam ASP. Isto acontece pelo fato das pginas ASP serem processadas pelo servidor. O que o cliente recebe somente cdigo HTML padro.

As pginas ASP so capazes de guardar estados?Sim. Aplicaes ASP podem armazenar dados que so mantidos durante toda uma sesso. Desta forma, um usurio pode fornecer seu nome somente uma vez em uma pgina e as demais pginas podem obter este dado automaticamente. Este recurso ideal para aplicaes de venda pela Internet.

As pginas ASP oferecem segurana?Sim. O recurso ASP parte integrante do IIS (Internet Information Server), que tem sua segurana integrada com o Windows NT Server. fcil restringir o acesso a pginas ASP usando os esquemas de autenticao do IIS (senha bsica da Web, senha do NT ou certificados de cliente). ainda possvel dar segurana aos dados transmitidos usando SSL.

Que bancos de dados podem ser acessados usando ASP?Uma aplicao ASP pode ser usada com qualquer banco de dados compatvel com ODBC. Isto inclui dados do Access, Microsoft SQL Server, Oracle, Sybase, Informix, DB2, entre outros.

ASP melhor que CGI?ASP lhe d todos os recursos de aplicaes CGI de uma forma mais fcil e mais robusta. Com ASP, bem mais fcil criar conexes entre o browser e os dados em formatos normalmente incompatveis com HTML, como bancos de dados. ASP mais robusto por no criar um processo no servidor para cada pedido do usurio, como acontece com o CGI. Usando ASP ao invs de CGI, um servidor pode atender a um grande nmero de pedidos de usurios de forma mais rpida e usando menos memria. Alm disso, criar pginas ASP em geral muito mais fcil do que criar aplicaes CGI.

ASP melhor do que Perl?Perl apenas uma linguagem script e no uma ferramenta de desenvolvimento. Usando ASP, voc tem objetos predefinidos para criar aplicaes complexas, como os que permitem o acesso a bancos de dados ou o uso de sesses. Alm do mais, ASP pode utilizar Perl como linguagem script, se voc desejar, usando plug-ins ActiveX de terceiros.

Voltar

Copyright (c) 1998 - Alexandre BarretoComandos Avanados Funes para simplificar programas

Subrotinas para simplificar programas

Content Rotator para variar uma informao toda vez que algum visitar a pgina.

Strings explica algumas funes bsicas de manipulao de strings.

Rotina de Erro para tratar alguns inconvenientes

Dicas para "Debugar" para ajudar na soluo de problemas

Dicas para "Debugar"O script abaixo uma forma geral de debugar problemas.

1 dbg.asp2 3 4 29 30

Rotina de ErroEsta pgina demonstra uma rotina bsica para tentar interpretar alguns erros que podem ser de script ou de banco de dados. Aconselho sempre usar esse tipo de rotina em todos os arquivos ASP que fazem acesso a Banco de Dados. E espero que ele nunca seja executado em seus programas...

0 then%>Ocorreram Erros no Script:Nmero do erro=Decrio do erro=Help Context=" Help Path=Native Error=Source=SQLState=

Nenhum problema aconteceu! 0 then%>Ocorreram erros com o Database

Erro #Descrio ->

Nenhum erro com o Database

FunesO exemplo abaixo de uma funo que recebe um nmero (ms) e converte para o valor em extenso (nome). A declarao de funes segue o esquema abaixo. Como dissemos anteriormente, bom ter um arquivo Include com todas as funes usadas por um determinado sistema ou pgina, semelhante aos mdulos do VB.

1 11 12

O arquivo Dicas.txt pode se parecer com o seguinte:

1 %%#32 Cante sempre que estiver tomando banho.3 %%#3 4 Planeje o seu dia logo no incio da manh.5 %%#3 6 Tenha pelo menos 8 horas de sono por dia!

Funes para StringAs funes para String so muito teis para passar dados para ASCII, formatar sadas complexas e entradas para formulrios, por exemplo. O seguinte script s uma amostra da funo MID. A maioria das funes de formatao de string utilizadas no VB podem ser usadas aqui no ASP. Mais abaixo existem alguns exemplos.

1 strings.asp2 3 8

Outras funes do VBScriptAsc, AscB, AscW, Chr, ChrB, ChrW, Filter, Instr, InStrB, InstrRev, Join, Len, LenB, LCase, UCase, Left, LeftB, Mid, MidB, Right, RightB, Replace, Space, Split, StrComp, String, StrReverse, LTrim, RTrim, Trim

SubrotinasSubrotinas servem basicamente para poupar a repetio de tarefas. O exemplo abaixo ilustra uma simples subrotina para formatar uma string. Lembrando que as subrotinas tambm podem ficar nos arquivos tipo Include.

1 2 3 subs.asp4 5

6 Fazer uma conexo com o banco de dados de contratado, por exemplo.7 Montar um recordset com o nro do contratado e outras informaes quaisquer.8 Dim NroContratado9 Nrocontratado = RS("NroContratado")10 ZerosAEsquerda NroContratado, 811 Response.write NroContratado1213 ' Acrescenta zeros a esquerda da string at um tamanho mximo para a string 14 '15 Public Sub ZerosAEsquerda (ByRef strString, intTamString)16 If IsNull(strString) Then17 strString = String(intTamString, "0")18 Else19 strString = String(intTamString - Len(strString), "0") & strString20 End If21 End Sub22

Funes de Browser (Browser Capabilites)O script abaixo demonstra a maioria das propriedades usadas do componente Browser Capabilites.

1 2 asp_browser.htm3 4 5 Browser Name: 6 Browser Version: 7 8 9 Voc pode usar frames10 11 Voc no pode usar frames12 13 14 Voc pode usar tabelas15 16 Voc no pode usar tabelas17 18 19 Voc me permite tocar msicas20 21 Voc no colocou msicas no cdigo22 23 24 25 Voc pode rodar script da linguagem VBscript26 27 Voc no pode rodar script da linguagem VBscript28 29 30 31 Voc pode rodar script da linguagem JScript32 33 Voc no pode rodar script da linguagem JScript34 35 36

Select CaseUsando IF-THEN pode ser incmodo e propenso a ter erros de programao e lentido na execuo. Uma construo mais eficiente o SELECT CASE que utiliza uma varivel com vrias condies.

1 2 asp_case.asp3 4 5 Your First Name6 Your Last Name7 8

Este o select case que determinar o que significa cada input do usurio.

1 2 caserespond.asp3 4 9 Nice to Meet You 10 11 Sorry we are not on a first name basis...12 21

Select Case - Exemplo 2Usando IF-THEN pode ser incmodo e propenso a ter erros de programao e lentido na execuo. Uma construo mais eficiente o SELECT CASE que utiliza uma varivel com vrias condies.

1 2 asp_case2.asp3 4 5 Your First Name6 Your Last Name7 Your Title8 Entry Level9 Temporary Employee10 Management Candidate11 Executive12 The Vice President of...13 The Boss14 15

Este o select case que determinar o que significa cada input do usurio.

1 2 case2respond.asp3 4 16

Banco de Dados na WEBBanco de Dados a razo para muitos desenvolvedores utilizar o ASP e abaixo est colocado exemplos e formatos tpicos para manipular dados.

Abrindo Databases via DSN e sem DSN

Mostrando tabelas atravs de consultas SQL

List Boxes preenchidas atravs de banco de dados

Adicionando Registros para um Database com o comando SQL insert Into

Adicionando Registros para um Database com o mtodo ADO add new

Exemplo Completo inclui o display de tabelas vinculadas a um formulrio que rodam scripts que atualizam registros. Atualizando registros em um Database

Exemplo Completo1a. ParteVamos analisar 3 exemplos de script.O primeiro exemplo (1a. parte) mostra uma tabela parecida com o exemplo de tabelas que foi visto anteriormente, com exceo dos links que aparecero nas colunas iniciais. Clicando em um dos links o segundo exemplo ser chamado e receber um ID como parmetro. No segundo exemplo ser permitido alterar as informaes e aps clicar no boto Submit, o exemplo 3 ser chamado para processar as informaes e atualiz-las no banco em SQL. Vamos por partes...

Exemplo 11 2 3 dbfull1.asp4 5 6 7 20 21 22 23 20 21 22 ID: 23 Nome do autor: 24 Ano de Nascimento: 25 26 27

Exemplo 3 (3a. Parte)1 2 dbfull3.asp3 4 " & conn.errors(counter).description & ""38 next39 else40 response.write "Parece que tudo est ok. O Autor foi atualizado!" & ""41 end if42 Conn.Close43 %>44 45

List BoxesEsta pgina mostra a funcionalidade de mostrar uma list box atravs de uma consulta SQL. O exemplo abaixo o mais simples possvel. Existem outros tipos utilizando Mltiplas List Boxes e Modularidade. Os exemplos utilizam um DSN, mas voc pode execut-los sem.

1 2 dblist.asp3 4 11 12 13 0 then22 response.write "Ocorreram Erros:" & ""23 response.write "Nmero=" & err.number & ""24 response.write "Descrio=" & err.description & ""25 response.write "Help Context=" & err.helpcontext & "" 26 response.write "Help Path=" & err.helppath & ""27 response.write "Native Error=" & err.nativeerror & ""28 response.write "Source=" & err.source & ""29 response.write "SQLState=" & err.sqlstate & ""30 else31 response.write "Nenhum erro apareceu!" & ""32 end if33 IF conn.errors.count> 0 then34 response.write "Ocorreram erros no Database!" & ""35 for counter= 0 to conn.errors.count36 response.write "Nmero " & conn.errors(counter).number & ""37 response.write "Descrio -> " & conn.errors(counter).description & ""38 next39 else40 response.write "Nenhum ocorreu no Database!" & ""41 end if42 %>43 44

Adicionando Registros com Statement SQLEsta pgina demonstra como adicionar registros em um Database com um statement sql. Para melhor entender o exemplo, suponha que a pgina chamada seja: http://www.geap.com.br/tutorial_asp/asp_dbnewSQL.asp?nome="Alexandre Barreto"&id=9000&ano=19741 dbnewrecSQL.asp2 3 4 15 16 17 18 100 thenexit ForEnd If

Exemplo:1 2 fornext.asp3 4 5 exemplo
Espere e veja o funcionamento do for...next
6 9 10 exemplo 2
Voc pode usar a varivel contador no seu cdigo
11 14 15 exemplo 3
Voc pode dar passos maiores que 1
16 19 20 exemplo 4
Voc no precisa comear do 1
21 24 25 exemplo 5
26 (mude os passos para negativo e tenha certeza do incio ser maior que o fim)
27 30

Formatando DatasA maneira mais fcil de demonstrar a formatao de datas mostrar um cdigo exemplo com vrias permutaes do comando.

FormatDateTime(Data[,Formato_do_nome])

A funo FormatDateTime tem as seguintes partes:

PRIVATEParteDescrio

DataObrigatrio.Data que ser formatada

Formato_do_nomeOpcional. Valor numrico que indica o formato date/time que ser usado. Se for omitido, o formado vbGeneralDate ser usado.

Parmetros

O argumento Formato_do_nome tem o seguinte domnio:

PRIVATEConstanteValorDescrio

vbGeneralDate0Mostra a data e/ou hora. Se houver uma data, mostrar como short date. Se for hora, mostrar como long time. Se houver data e hora ambas sero mostradas.

vbLongDate1Mostra a data usando o formato long date especificado nas Configuraes Regionais do Painel de Controle

vbShortDate2Mostra a data usando o formato short date especificado nas Configuraes Regionais do Painel de Controle.

vbLongTime3Mostra a hora usando o formato especificado nas Configuraes Regionais do Painel de Controle.

vbShortTime4Mostra a hora usando o formato 24-horas (hh:mm).

1 2 formatdates.asp3 4 33

FormulriosFormulrios HTML so geralmente o "front end" de um script asp. A diviso abaixo facilitar o apredizado.

Introduo sobre Formulrios Text Box Text Area Check Box Radio Buttons

List BoxFormulrios - Check Boxes

O objeto checkbox tem as mesmas linhas de cdigo dos radio buttons, entretanto cada checkbox deve ter um nico nome porque o estado de "checked" ou "not checked" ser passado para o script ASP. Lembre-se que voc pode marcar mais de uma opo.

1 2 FormCheckBox.asp3 4 5 CheckBox Exemplo6 Como voce quer comprar? 7 Confirmao ser pelo Correio
8 Confirmao enviada via Sedex
9 Confirmao por EMail
10 Confirmao enviada por Fax
11 Confirmao feita por telefone

12 13

A resposta ser essa:

1 2 formCheckBoxRespond.asp3 4 20

Introduo sobre FormulriosFormulrios so o caminho natural para os usurios enviarem informaes para o ASP.

Formulrios podem ser HTML ou ASP dependendo das capacidades dinmicas que voc quer.

O Formulrio deve passar variveis para o arquivo ASP para processar os dados.

Voc pode encontrar um excelente tutorial sobre formulrios em http://www.mountaindragon.com/html/forms.htm (tutorial em ingls)

Formulrio com GET

....

O formulrio pode mostrar as informaes dos campos na tela do browser.

Um script ASP pode pegar os dados dos campos do formulrio da seguinte forma:

Formulrio com POST

....

O formulrio no mostrar as informaes na tela do browser. Ele enviar para o arquivo especificado no action do form e este arquivo far o tratamento das informaes.

Um script ASP pode pegar os dados dos campos do formulrio da seguinte forma:

Formulrios - List BoxesO objeto listbox muito usado para facilitar a entrada do usurio. apenas um lista pull down.

1 2 FormListBox.asp3 4 5 6 Distrito Federal7 Salvador8 Rio de Janeiro9 O Resto!10 11

A resposta se parecer com:

1 2 formlistboxrespond.asp3 4 13 14

Formulrios - Radio ButtonsTodos os inputs no formulrio devem ter seu nome nico que o identifica para uso do script ASP. Os Radio Buttons so uma excesso. Entre as opes dos Radio Buttons, somente um valor ser passado para o script ASP, isto implica que todas as opes tenham o mesmo nome. O boto selecionado como default deve ser indicado com o comando CHECKED. Isso importante porque o browser enviar ao ASP um nome e um valor referente ao boto selecionado pelo usurio. O browser no enviar para o ASP o texto que est associado com o boto. Como no exemplo abaixo, se o usurio checar o boto com o texto SALVADOR, o ASP receber Cidade = SSA

1 2 formRadio.asp3 4 5 Radio Buttons
Exemplo 16 Qual regional voc gostaria de visitar? 7 Salvador8 Brasilia9 So Paulo10

11 12

A resposta se parecer com:

1 2 formradiorespond.asp3 4 13 14

Formulrios - Text AreaO comando TEXTAREA cria uma caixa de texto com mltiplas linhas, conforme segue:

... o texto padrao digitado aqui

Nota: O browser geralmente coloca a scroll bars automaticamente.

1 2 textarea.asp3 4 5 TextArea Exemplo6 Por Favor, coloque seu comentrio: 7 8 comentrios aparecero aqui.9 10 11 12

A resposta para o formulrio ser semelhante a esta:

1 2 textarearespond.asp3 4 8 9

Formulrios - Text BoxPRIVATE

Este comando criar um input box com o tamanho default e o browser passar para o arquivo output em ASP a varivel com o nome: UltimoNome.

Este parmetro no limita o nmero de caracteres que podem ser digitados. No use esse parmetro como tcnica de validao. Ele apenas define o tamanho da caixa de texto.

Agora sim. Esse parmetro define o tamanho mximo de caracteres digitados.

O nome Bertrand aparecer no campo texto quando a pgina for carregada. um valor default.

1 2 FormTextBox.asp3 4 5 Fill Out This Form For Us:6 Last Name ->
7 Pas ->
8 Estado ->
9 10 11

1 2 FormTextBoxRespond.asp3 4 10

Comando IFFrequentemente voc tem que determinar o que fazer depois que o usurio faz algum input de dados. Abaixo segue um formulrio que pergunta ao usurio o seu primeiro nome e o ultimo nome.

1 2 Comando IF3 4 5 Your First Name6 Your Last Name7 8

Agora o arquivo ASP ifrespond.asp que examina o primeiro nome e o ltimo nome depois que o formulrio enviado

1 2 ifrespond.asp3 4 7 Hi.You must be the first president!8 9 Hi!Nice to Meet You10 11

Comando IF - Exemplo 2Abaixo temos o formulrio que pergunta o primeiro nome e ltimo nome do usurio

1 2 asp_if2.htm3 4 5 Your First Name6 Your Last Name7 8

Agora o arquivo ASP if2respond.asp examinar o primeiro e ltimo nome do usurio enviado pelo formulrio. Ao contrrio do exemplo anterior, desta vez ser checada mltiplas condies utilizando ELSEIF e formataremos as strings com letras minsculas.

1 2 if2respond.asp3 4 8 Hi.You must be the first president!9 10 Hi.You must be the actor president!11 12 Hi.You must be the peanut farmer president!13 14 Hi.Your name reminds me of someone15 but I am not sure who!16 17 Hi!Nice to Meet You18 19

Comando IF - Exemplo 3Abaixo temos o formulrio que pergunta o primeiro nome e ltimo nome do usurio e salrio.

1 2 asp_if3.asp3 4 5 Your First Name6 Your Last Name7 Your Salary 8 9

Este exemplo mostra como o comando IF pode trabalhar com operadores

1 2 if3respond.asp3 4 14 Would you like to loan me some money?15 19 By the way your marginal tax rate is 20 21

Include FilesO recurso Include Files uma maneira de tornar o cdigo asp eficiente e reaproveitar rotinas j prontas. No arquivo Include devem constar somente funes e procedures que podem ser usadas por um ou muitos sistemas. Basicamente existem duas formas de declar-lo:

Muitas desenvolvedores usam a extenso .inc, mas qualquer extenso pode ser usada.

IMPORTANTE: Os Include files so sempre processados e inseridos no programa antes de qualquer ASP Script. Preferencialmente no incio do arquivo.

PRIVATEResponse Object

PRIVATEExistem vrias combinaes do objeto Response que no sero vistas aqui, mas tenho certeza que estes 20% que ser visto ser 80% do que voc vai utilizar. As propriedades vitais so:

PRIVATE

response.writeresponse.redirect response.end

PRIVATE

PRIVATEAlgumas notas sobre response.write, & e =Exemplos adicionais com &

Os prximos 3 exemplos tm a mesma sada.Exemplo 1a:

Exemplo 2a (most readable):livro? Exemplo 3a:livro? Os prximos 3 exemplos tm a mesma sada.Exemplo 1b: Envia "Oi Jose" para o browser

Exemplo 2b: Envia "Oi Jose" para o browser

Exemplo 3b: Envia "Oi Jose" para o browser

Oi

PRIVATE

PRIVATEScript utilizando o response.write:

PRIVATE1 17 18

Response Object - Segunda Parte Propriedade Buffer

Toda pgina desenvolvida com o FrontPage ou qualquer outro editor de HTML que misturam headers (objetos asp de servidor) e/ou texto dever conter a linha acima antes. Se no for colocada, geralmente aparecer uma mensagem semelhante a "headers are already sent". Esse erro costuma aparecer quando voc precisa usar o propriedade response.redirect, pois essa altera o header do script. Este header no pode ser mudado se voc j descarregou o buffer.

Essencialmente diz para o browser no gravar nada at que:a) response.end seja executado parando a execuo e enviando as informaes gravadas.b) response.flush seja executado descarregando o buffer.c) 100% da pgina enviada para o browser. Se o comando response.redirect for enviado e existir o comando response.buffer=true o texto s ser enviado para o browser se ocorrer a) ou b).

Se voc estiver em um While que trata milhares de registros em um banco de dados e voc setou a propriedade buffer para true, a pgina no aparecer at que todos os dados estejam no buffer para serem enviados ao browser cliente. Para resolver esse inconveniente, basta usar ocasionalmente o response.flush para que as pores gravadas no buffer sejam descarregadas enquanto o servidor termina de construir o restante da pgina.

Response Object - Parte 3Redirection CodeO objeto response.redirect pode ser usado para direcionar o usurio para uma determinada pgina. No exemplo abaixo cada link se refere ao mesmo arquivo asp, entretanto, com o parmetro where o programa redireciona o usurio para um determinado lugar.

res2.asp?where=principalres2.asp?where=exemplos res2.asp?where=docsres2.asp?where=diversaores2.asp?where=newsres2.asp1 4 5 res2.asp6 7 19 20 21

Exemplo 3: L as variveis da sesso1 2 3 sessiontest03.asp4 5 6