[A BÍBLIA DO VBA NO ACCESS]: MACROS E PROGRAMAÇÃO VBA NO ACCESS - CURSO COMPLETO

Páginas: 1164 | Autor: Júlio Battisti | 50% de Desconto e 21 Super Bônus

Você está em: PrincipalArtigosWindows 7 › Capítulo 13 : 10
Quer receber novidades e e-books gratuitos?
›››
« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
WINDOWS 7 - CURSO COMPLETO - 2400 páginas
Autor: Júlio Battisti


Promoção: Livro Windows Server 2012 R2 e Active Directory - Curso Completo, 2100 Páginas. Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

Promoção: Livro Windows Server 2012 R2 e Active Directory

Curso Completo, 2100 páginas. Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!


Lição 296 - Capítulo 13 - Uma "Rápida Introdução" ao ASP.NET

Neste tópico apresentarei uma rápida introdução à tecnologia ASP.NET. Para uma descrição completa do Framework .NET e da criação de páginas ASP.NET consulte o E-book “ASP.NET: Uma Nova Revolução na Criação de Sites e Aplicações Web”, a venda em formato de E-book, em http://www.juliobattisti.com.br/loja/detalheproduto.asp?CodigoLivro=CPRO000002

Mais uma versão de ASP?

ASP, ASP 2.0, ASP 3.0 e agora ASP.NET.

Menos de dois anos após o lançamento do ASP 3.0, o qual faz parte do IIS 5.0 que é instalado com o Windows 2000, a Microsoft lança mais uma versão da tecnologia ASP – Active Server Pages. Na verdade não é apenas o lançamento de mais uma versão. O ASP.NET está inserido em um contexto maior, que é a iniciativa .NET da Microsoft. Além de estar inserido no contexto do .NET, a tecnologia ASP.NET apresenta “enormes” diferenças em relação ao ASP 3.0, o que não permite que a caracterizemos simplesmente como um upgrade do ASP 3.0.

A tecnologia ASP.NET segue os mesmos princípios do Framework .NET, cujo principal objetivo é facilitar o desenvolvimento de aplicações. No caso específico do ASP.NET, aplicações Web. Com o uso do ASP.NET as aplicações Web passam a usufruir de todos os recursos do Framework .NET.

A tecnologia ASP teve uma enorme aceitação por parte da comunidade de desenvolvedores. Para comprovar tal afirmação basta conferir o número de sites que utilizam ASP. Esta aceitação não se deve somente à força de mercado da Microsoft, mas também à facilidade de desenvolvimento propiciada pela utilização de ASP.

Novidades e Melhorias do ASP.NET:

Neste item vamos apresentar as novidades e vantagens do ASP.NET. Mais do que uma simples justificativa para uma nova versão, procuro demonstrar os benefícios de utilizarmos ASP.NET para a criação de aplicações WEB.

Novidade 01: Faz Parte do Framework .NET

Pode parecer óbvio, mas nunca é demais salientar este aspecto. ASP.NET é parte integrante do Framework .NET, e desta maneira tem acesso a todos os benefícios da plataforma .NET da Microsoft.

Em uma página ASP.NET temos acesso a todas as classes da .biblioteca de classes do Framework .NET - .NET Framework Class Library. Também temos acesso a um tipo comum de dados e a todos os benefícios do Framework .NET. Só estes benefícios já justificam uma migração do ASP 3.0 para o ASP.NET.

Novidade 02: Suporte a Múltiplas Linguagens

Com as versões anteriores do ASP estávamos limitados praticamente a duas linguagens de Script: VBScript e JScript. Além disso, por serem linguagens de Script estas eram interpretadas, ou seja, ao carregar uma página ASP, o IIS precisa ler linha por linha de código, interpretar e executar.

Com ASP.NET podemos utilizar qualquer linguagem que esteja habilitada para o Framework .NET. Inicialmente são disponibilizadas as linguagens VB.NET, C# e Jscript.NET. Apesar do nome JScript, esta e as demais linguagens são compiladas, o que significa que toda página ASP.NET é compilada antes de ser executada. Na primeira vez que uma página ASP.NET é acessada, ela é compilada em uma classe do Framework .NET. A versão compilada é mantida em cache para melhorar o desempenho para os próximos acessos. Qualquer alteração na página é automaticamente detectada pelo Framework .NET; a página é recompilada e a versão em cache é atualizada, fazendo com que o cliente tenha sempre acesso à versão mais atualizada da página. Se não houver mudanças, continuará sendo utilizada a versão que está no cache, o que torna a carga da página muito mais rápida.

Além disso diversas empresas de software já anunciaram que estão portando suas linguagens para que sejam compatíveis com o Framework .NET. Desta maneira você poderá utilizar, para a criação de páginas ASP.NET, a linguagem com a qual está mais familiarizado, desde que ela esteja habilitada ao .NET. Você prefere Delphi? Sem problemas. É fã do COBOL? Por que não?

Novidade 03: Menos Código Para Mais Trabalho:

Com o ASP.NET temos acesso a uma série de facilidades que diminuem a quantidade de código que o programador precisa escrever, principalmente no trato com funções básicas. Estas funções básicas, como a manutenção de estado entre chamadas de uma página, são responsabilidade do Framework .NET. Isso faz com que o programador tenha que desenvolver apenas a lógica da aplicação, sem ter que se preocupar com aspectos básicos da infra-estrutura necessário ao correto funcionamento da aplicação.

Uma série de controles mais inteligentes e com melhores funcionalidades foi criada, os chamados Server Controls. Estes controles fornecem grande funcionalidade com um mínimo de programação. Alguns artigos fazem referência a “inteligência” dos Server Controls. Um dos aspectos considerados inteligentes é que, no momento da carga da página, o controle detecta, por exemplo, se o navegador do cliente é o Internet Explorer, Chrome ou Firefox, dentre outros e adapta o seu comportamento e exibição de acordo com o navegador do cliente.

Com ASP tarefas simples, como por exemplo validar os dados digitados em formulários, exigem a criação de código específico. Com os controles “inteligentes” do ASP.NET, fazer a validação é simplesmente questão de configurar algumas propriedades do controle e pronto, a verificação será feita no momento em que a página for acessada.

Novidade 03: Separação Entre o Código HTML e o Código ASP:

Esta é uma das melhorias que eu mais aprecio. Com ASP 3.0 ou versões anteriores, nos tínhamos uma mistura (literalmente) entre o código ASP e o código HTML, o que torna o código de difícil leitura e documentação. Apenas para exemplificar, vamos apresentar uma página ASP que faz conexão com um banco de dados do Microsoft Access e exibe todos os registros de uma determinada tabela do banco de dados. Os registros são exibidos na forma de uma tabela. O código HTML para a criação da tabela, que será exibida para o usuário, é gerado a partir de uma mescla entre código ASP e código HTML.

Na Listagem 1 temos um exemplo de página ASP que faz conexão com um banco de dados do Microsoft Access.

Listagem 1 – Uma página ASP – código ASP e HTML “misturado”.

<%@ Language=VBScript %>
<HTML>
<HEAD>
<TITLE>Listagem de  Clientes</TITLE>
</HEAD>
<BODY>
<H1>
<FONT  color=navy>Clientes da Empresa ABC LTDA.</FONT>
</H1>
<%
‘O Primeiro  passo é criar a conexão com o Banco de dados
‘Para isto  crio um objeto do tipo Connection
‘Cria um  Objeto do Tipo ADODB.Connection
 
  Set conn = Server.CreateObject(“ADODB.Connection”)
 
‘ Agora abro  uma conexão utilizando OLE-DB
 
‘ O código a  seguir aparece em duas linhas por questão de espaço, porém o mesmo
‘  deve ser digitado em uma única linha.
 
conn.Open  “PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=c:\meus documentos\nwind.mdb”
‘ O próximo  passo é criar uma instrução SQL
‘ a qual é  utilizada para criar a listagem de Clientes.
‘ O código a  seguir aparece em duas linhas por questão de espaço, porém o mesmo
‘  deve ser digitado em uma única linha.
 
inst_sql=”SELECT  Clientes.CodigoCliente, Clientes.Cargo, Clientes.Endereco,Clientes.Fone FROM  Clientes”
 
‘Esta  instrução SQL retorna os campos CodigoCliente, Cargo,
‘Endereco e  Fone, da tabela Clientes.
 
‘Agora  criamos um Objeto RecordSet.
‘Este Objeto  irá executar a instrução SQL e
‘receber o  resultado da Consulta.
 
Set Clientes =  Server.CreateObject(“ADODB.Recordset”)
 
‘Agora  executamos a Instrução SQL
‘retornando  os registros da tabela Clientes.
 
Clientes.Open inst_sql, conn, 3, 3
 
‘ Os dois  últimos parâmetros serão discutidos
‘ no próximo  Capítulo.
 
‘ Neste  ponto já tenho todos os registros retornados
‘ pela  instrução SQL. Estes registros estão armazenados
‘ no objeto  Clientes, que é um objeto do tipo Recordset.
 
‘ Agora  passo a montar a página que será retornada para o
‘ Navegador  do Cliente. Vamos montar uma tabela com o
‘ resultado  da consulta.
%>
<P>
<HR>
<TABLE bgColor=gray border=1  borderColor=navy cellPadding=1 cellSpacing=1 width=”100%”>
<TR>
     <TD align=middle bgColor=gray>Código</TD>
     <TD align=middle bgColor=gray>Cargo</TD>
     <TD align=middle bgColor=gray>Endereço</TD>
     <TD align=middle bgColor=gray>Fone</TD>
</TR>
<%
‘ Inicio um  Loop para percorrer todos os registros
‘ do  RecordSet Clientes, exibindo um Registro em
‘ cada Linha  da tabela.
Do Until  Clientes.eof %>
  <TR>
      <TD align=middle bgColor=gray><%=Clientes.Fields(“CodigoCliente”)%></TD>
      <TD align=middle  bgColor=gray><%=Clientes.Fields(“Cargo”)%></TD>
      <TD align=middle  bgColor=gray><%=Clientes.Fields(“Endereco”)%></TD>
      <TD align=middle  bgColor=gray><%=Clientes.Fields(“Fone”)%></TD>
   </TR>
<%
Clientes.MoveNext
loop %>
</TABLE>
</P>
<HR>
</BODY>
</HTML>

Na Figura 13.31 temos esta página carregada no IE – Internet Explorer.

Curso Completo de Windows 7 - Júlio Battisti

 

Figura 13.31 – Página ASP de exemplo.

Observe que, por mais organizados que sejamos, inserindo comentários e endentações no código ASP, não é nada fácil a leitura e interpretação de uma página ASP. Isso acontece devido, principalmente, à intercalação de código ASP e código HTML. Em uma mesma página ASP posso ter várias seções de código ASP. Cada seção inicia com <% e encerra com %>. Tudo o que não estiver entre estes dois marcadores é código HTML.

Já com ASP.NET isto não acontece. A parte de apresentação da página é separada da parte de processamento, isto é, da parte onde está o código responsável pela lógica de processamento da página. Com isto separamos a lógica da apresentação, o que facilita a manutenção das páginas.

Na Listagem 2 temos o exemplo de uma página ASP.NET que faz a separação entre o código responsável pela conexão com o banco de dados e retorno dos dados (lógica) e o código responsável por exibir os dados (apresentação).

Listagem 2 – O segundo exemplo: conectando com o banco de dados pubs usando ASP.NET

<%@ Import  Namespace=”System.Data” %>
<%@ Import  Namespace=”System.Data.SqlClient” %>
<html>
<script language=”C#”  runat=”server”>
    protected void Page_Load(Object Src, EventArgs E )
    {
      // Crio uma conexão com o banco de dados  pubs localizado no servidor local.
      // Vamos acessar a instância  SERVIDOR\NETSDK.
 
      SqlConnection myConnection = new  SqlConnection(“server=SERVIDOR\\NETSDK;” +
         “ uid=sa;pwd=;database=pubs”);
 
            //  Conectamos com o banco de dados utilizando um comando SQL,
            // o qual retorna todos os dados da  tabela “Authors”, do banco de
            // dados pubs. 
 
       SqlDataAdapter myCommand = new SqlDataAdapter(“SELECT “ +
         “ * FROM Authors”,  myConnection);
 
            // Criamos e preenchemos um objeto  DataSet.
            // Observe que não temos mais o  objeto Recordset,
            // como era de praxe com o ASP 3.0.
      DataSet ds = new DataSet();
       myCommand.Fill(ds);
 
            //  Conectamos um controle DataGrid com o DataSet criado anteriormente.
            // MyDataGrid é o id (nome) de um  controle do tipo
            // DataGrid que está na seção de  apresentação da página.
 
      DataView source = new DataView(ds.Tables[0]);
       MyDataGrid.DataSource = source ;
       MyDataGrid.DataBind();
    }
</script>
<body>
  <%— Exibe as informações do DataGrid no  corpo da página. —%>
       <h3><font  face=”Verdana”>Registros da tabela Authors!</font></h3>
 
  <%— Os registros da tabela Authors são  exibidos no DataGrid. —%>
 
   <ASP:DataGrid id=”MyDataGrid” runat=”server”
       Width=”700"
       BackColor=”#ccccff”
       BorderColor=”black”
       ShowFooter=”false”
       CellPadding=3
       CellSpacing=”0"
       Font-Name=”Verdana”
       Font-Size=”8pt”
       HeaderStyle-BackColor=”#aaaadd”
       MaintainState=”false”
   />
</body>
</html>

Ao carregarmos esta página no Internet Explorer obtemos o resultado indicado na Figura 13.32:

Curso Completo de Windows 7 - Júlio Battisti

 

Figura 13.32 – A página ASP.NET da Listagem 2 carregada no IE.

Observe a separação entre a seção de código e a seção de apresentação, conforme detalharemos a seguir.

Alguns comentários sobre o exemplo, sem entrar em maiores detalhes sobre o código do exemplo.

Cadê o meu objeto Recordset usado no ASP?

Nada de objetos do tipo Recordset. Com ASP.NET utilizamos ADO.NET para fazer a conexão com banco de dados. ADO.NET utiliza o objeto Dataset ao invés do objeto Recordset. Para a conexão com bancos de dados utilizamos uma série de classes do namespace System.Data, o qual faz parte do .NET Framework Class Library.

Para ter acesso às classes de um determinado namespace, precisamos adicionar uma referência ao namespace, no início da página ASP.NET, utilizando a diretiva Import, conforme indicado no trecho de código a seguir:

<%@ Import  Namespace=”System.Data” %>
<%@ Import  Namespace=”System.Data.SqlClient” %>

Observe que estamos fazendo referência a dois namespaces: System.Data e System.Data.SqlCliente.

Conectando com o banco de dados:

Na seção de código da página temos os comandos para conexão com o banco de dados pubs da instância SERVIDOR\NETSDK de um servidor com o SQL Server 2000. Um detalhe importante é a maneira como informamos o nome da instância, conforme indicado pelo trecho de código a seguir:

SqlConnection myConnection = new  SqlConnection(“server=SERVIDOR\\NETSDK;” +
    “ uid=sa;pwd=;database=pubs”);

Observe que utilizamos duas barras invertidas ao invés de uma única barra. Isto é necessário porque a barra invertida é considerada um caractere de escape com significado especial para a linguagem C# utilizada no exemplo da Listagem 2. Quando ao invés do caractere de escape queremos que o C# entenda-o como um caractere normal, temos que precedê-lo de uma barra invertida. Na prática as duas barras invertidas são interpretadas, pelo C#, como uma única barra, o que produz o resultado desejado: SERVIDOR\NETSDK.

Neste exemplo utilizamos as seguintes classes do namespace System.Data.SqlClient:

SqlConnection
SqlDataAdapter

Também utilizamos as seguintes classes do namespace System.Data:

DataSet
DataView

Um controle poderoso para exibir os dados:

Na seção de apresentação utilizamos o controle DataGrid para fazer a exibição dos registros da tabela Authors. Observe o quão poderoso é este controle. Simplesmente através da configuração da sua propriedade DataSource, na seção de código, definimos os registros a serem exibidos pelo controle. Esta definição é feita nas seguintes linhas de código:

MyDataGrid.DataSource  = source ;
MyDataGrid.DataBind();

Veja que não precisamos utilizar um laço While para percorrer todos os registros da tabela Authors, como tínhamos que fazer com o objeto RecordSet usando ASP, como no exemplo da Listagem 1.

Posso ter um comando que ultrapassa uma linha?

A resposta é um sonoro Sim.

Diferente do ASP 3.0, em nossas páginas ASP.NET, os comandos da seção de código podem estar em mais do que uma linha, sem problemas. Inclusive na Listagem 2 temos comandos que ultrapassam uma linha e a página carrega sem maiores problemas, conforme exemplificado no trecho a seguir:

SqlDataAdapter myCommand = new  SqlDataAdapter(“SELECT “ +
         “ * FROM Authors”,  myConnection);

Isso é possível pois cada comando do C# é finalizado com um ponto-e-vírgula (;).

O bom e velho SQL continua o mesmo?

A resposta é outro sonoro Sim.

Você deve ter observado que utilizamos um comando SQL para retornar os dados da tabela Authors. Utilizamos um comando SELECT, conforme indicado a seguir:

SqlConnection  myConnection = new SqlConnection(“server=SERVIDOR\\NETSDK;” +
   “ uid=sa;pwd=;database=pubs”);

Vamos alterar o comando SQL para introduzir uma condição. Queremos que sejam retornados somente os registros para os autores em que a cidade (city) é Oakland. Para isso basta que seja utilizada uma cláusula where para especificar a condição city=’Oakland’, conforme indicado a seguir:

SqlDataAdapter myCommand = new  SqlDataAdapter(“SELECT “ +
     “ * FROM Authors where city=’Oakland’”,  myConnection);

Fazendo esta alteração obteremos o resultado indicado na Figura 13.33:

 

Curso Completo de Windows 7 - Júlio Battisti

 

Figura 13.33 – Definindo um critério com a cláusula where.

Compatibilidade com Qualquer Navegador:

O resultado da execução de uma página ASP.NET é código HTML puro retornado para o cliente. Qualquer navegador é capaz de interpretar corretamente HTML, em tese. Na prática o que acontece é que existem pequenas diferenças e até mesmo “inconsistências” entre a maneira como o código HTML é interpretado. Para minimizar este problema, o ASP.NET conta com os controles que rodam no servidor e são capazes de fornecer diferentes saídas, dependendo do navegador que fez a solicitação da página. Na prática isto significa que um controle da interface de uma página ASP.NET, que roda no servidor, é capaz de gerar diferentes saídas, dependendo do navegador do cliente. Esta característica é conhecida por AUI – Adaptative User Interface.

A Extensão do Arquivo Mudou - .aspx:

A primeira diferença que notamos é na extensão dos arquivos. As páginas ASP, desde a versão inicial até a versão 3.0 têm a extensão .asp. Esta extensão é obrigatória, para que o IIS reconheça a página como uma página ASP e passe o processamento para o interpretador ASP (ASP.DLL). Já as páginas ASP.NET têm a extensão .aspx, a qual é reconhecida pelo IIS (após a instalação do Framework .NET). O processamento da página ASP.NET é passado para o controle do Framework .NET. O serviço responsável pelo processamento das páginas ASP.NET está contido na DLL – XSPISAPI.DLL.


Promoção: Livro Windows Server 2012 R2 e Active Directory - Curso Completo, 2100 Páginas. Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

Promoção: Livro Windows Server 2012 R2 e Active Directory

Curso Completo, 2100 páginas. Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!


« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »

Livros Que O Júlio Battisti Indica:

Todos com excelentes bônus e pode parcelar no cartão!

Windows Server 2012 R2 e Active Directory

 Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

 

Autor: Júlio Battisti | Páginas: 2100 | Editora: Instituto Alpha

 

[Livro]: Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

Universidade Redes

Curso Online: Universidade de Redes

 

Autor: André Stato | Carga horária: 170h

 

Curso Online: Universidade de Redes

A Bíblia do Excel

 Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

 

Autor: Júlio Battisti | Páginas: 1338 | Editora: Instituto Alpha

 

[Livro]: Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

Macros e VBA no Access 2010

 Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

 

Autor: Júlio Battisti | Páginas: 1164 | Editora: Instituto Alpha

 

[Livro]: Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

Macros e VBA no Excel 2010

 Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

 

Autor: Júlio Battisti | Páginas: 1124 | Editora: Instituto Alpha

 

[Livro]: Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

Universidade Java

 Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

 

Autor: Neri Zeritzke | Duração: 250h | Aulas: 1922

 

[Livro]: Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

Todos os livros com dezenas de horas de vídeo aulas de bônus, preço especial (alguns com 50% de desconto). Aproveite. São poucas unidades de cada livro e por tempo limitado.

Dúvidas?

Utilize a área de comentários a seguir.

Me ajude a divulgar este conteúdo gratuito!

Use a área de comentários a seguir, diga o que achou desta lição, o que está achando do curso.
Compartilhe no Facebook, no Google+, Twitter e Pinterest.

Indique para seus amigos. Quanto mais comentários forem feitos, mais lições serão publicadas.

Quer receber novidades e e-books gratuitos?
›››

Novidades e E-books grátis

Fique por dentro das novidades, lançamento de livros, cursos, e-books e vídeo-aulas, e receba ofertas de e-books e vídeo-aulas gratuitas para download.



Institucional

  • Quem somos
  • Garantia de Entrega
  • Formas de Pagamento
  • Contato
  • O Autor
  • Endereço

  • Júlio Battisti Livros e Cursos Ltda
  • CNPJ: 08.916.484/0001-25
  • Rua Vereador Ivo Cláudio Weigel, 537 Universitário
  • Santa Cruz do Sul/RS
  • CEP 96816-208
  • Todos os direitos reservados, Júlio Battisti 2001-2017 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI