DevMedia
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Este é um post disponível para assinantes MVP
###

Revista MSDN Magazine Edição 09 - Migrando aplicações VB 6.0 para VB.NET Parte II

Nessa segunda parte irei mostrar algumas alterações manuais que devemos fazer no código antes da migração quando estamos usando ligação de dados com DAO e usando controles ActiveX.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você poderia comentar o que não lhe agradou?

Confirmo meu voto negativo

msdn09_capa.JPG

Clique aqui para ler todos os artigos desta edição

 

Migrando aplicações VB 6.0 para VB.NET

Parte II – Substituindo controles DAO e controles ActiveX.

por Renato Guimarães

Na parte I (edição 7) apresentei uma introdução sobre alguns dos motivos que levaram a Microsoft fazer mudanças radicais no Visual Basic. Além disso, mostrei a importância da análise da aplicação escrita em Visual Basic 6.0 com o Code Advisor. Com o Code Advisor vimos que é possível detectar pontos de atenção no código Visual Basic que devem ser corrigidos antes da migração para evitarmos problemas quando o Upgrade Wizard entrar em ação.

Nessa segunda parte irei mostrar algumas alterações manuais que devemos fazer no código antes da migração quando estamos usando ligação de dados com DAO e usando controles ActiveX. Para isso explicarei alguns detalhes sobre a necessidade de mudança do DAO para o ADO e mostrarei os passos necessários para migrar uma aplicação que usa controles DAO para ligação de dados. Em seguida, explicarei a necessidade de migrar controles ActiveX e mostrarei a migração de uma pequena aplicação.

As técnicas de acesso a dados em VB e VB .NET

A maioria das aplicações tem algum tipo de acesso a dados. Este fato não é surpresa quando você considera que conceitualmente a maioria dos negócios é baseada em dados: cliente, produto, vendas, estoque. Todas essas informações de negócios precisam ser armazenadas de uma forma que possam ser facilmente consultadas, alteradas e armazenadas novamente. É incontável o número de aplicações que têm sido desenvolvidas para fornecer cada vez mais interfaces amigáveis para exibir essas informações. Cada nova versão do Visual Basic tem feito melhorias para acessar esses dados. Com o Visual Basic .NET não será diferente. Com o VB.NET vemos um continuado suporte a código ActiveX Data Objects (ADO) e ligação de dados (data binding). O Visual Basic .NET suporta código Data Access Objects (DAO) e Remote Data Objects (RDO), mas não suporta ligação de dados usando DAO ou RDO. Além disso, introduz um novo tipo desconectado de acesso a dados chamado ADO.NET.

O acesso a dados é formado por três componentes: código que lida com os objetos de dados, ligação dos dados a controles e ferramentas em tempo de projeto, tal como ADO Data Environment. Veremos rapidamente onde esses três componentes são diferentes entre Visual Basic e Visual Basic .NET.

Código: DAO, RDO e ADO são implementados como bibliotecas COM, então a maior parte do código escrito funciona no VB.NET da mesma forma que funcionava no Visual Basic.

Ligação de Dados (data binding): Ligação de dados permite a você associar o valor de um controle no formulário a um campo no banco de dados. O Visual Basic 6.0 suporta ligação de dados usando ADO, DAO e RDO. Você pode associar a um controle um ADO Data Environment, um controle ADO, um controle DAO ou um controle RDO. O Visual Basic .NET , por outro lado, suporta somente ligação de dados com controle ADO, ou seja, não permite ligação com DAO ou RDO. Essa distinção vem da forma como os diferentes tipos de ligação de dados são implementados. DAO e RDO são tecnologias de acesso a dados antigas. DAO foi introduzido no Visaul Basic 3.0, e o RDO foi apresentado no Visual Basic 4.0. Quando o time de desenvolvimento do Visual Basic implementou essas formas antigas de acesso a dados pela primeira vez, eles as construíram embutidas dentro do pacote forms. Essa implementação permitiu uma integração, mas também amarrou a tecnologia de ligação de dados ao Visual Basic Forms. No Visual Basic .NET, o Visual Basic Forms foi substituído pelo Windows Forms. Os projetistas do Windows Forms decidiram não construir o DAO e RDO dentro do Windows Forms, conseqüentemente ambos não são suportados. A ligação de dados ADO é suportada porque não está construída dentro do pacote forms; ao invés disso, ele é implementado na biblioteca COM MSBind.dll. Essa biblioteca gerencia a ligação de dados ADO no Visual Basic 6.0, e a biblioteca atualizada Microsoft.VisualBasic.Compatibility.Data, gerencia a ligação de dados no Visual Basic .NET. O Upgrade Wizard atualiza ligação de dados para ambos ADO Data Control e ADO Data Envorinment.

ADO Data Environment: Permite que você construa visualmente conexões e comandos com banco de dados usando o ADO Data Environment Designer. Embora o Visual Basic .NET não suporte o ADO data environment, o Upgrade Wizard atualiza as conexões, comandos, e Recordsets para uma classe que tenha o mesmo comportamento que o ambiente do Visual Basic 6.0.

Os componentes que não podem ser atualizados automaticamente para o VB.NET causam erros no projeto que foi gerado na migração. Por exemplo, se um formulário no Visual Basic 6.0 tem um controle DAO, o controle é removido durante a migração e avisos são inseridos dentro do relatório de migração. Qualquer código que fizer referência ao controle causará erro de compilação.

O que você deve fazer se seu projeto usa RDO ou DAO para ligação de dados? Você tem duas soluções: reimplementar a ligação de dados no Visual Basic .NET usando ADO ou ADO.NET ou já fazer a alteração dos controles ainda no projeto Visual Basic 6.0 antes da migração. A vantagem de fazer ainda no Visual Basic 6.0 é que você terá um processo de migração com menos problemas e não haverá necessidade de mudança de código porque o Visual Basic . NET dá suporte a ADO na ligação de dados. Caso o prazo estimado pelo seu gerente de projeto seja bom, será melhor implementar no Visual Basic .NET usando ADO.NET para tirar proveito das melhorias trazidas pelo framework .NET. A Tabela 1 da uma visão geral das diferentes tecnologias de acesso a dados no Visual Basic 6.0 e mostra como foram atualizadas para Visual Basic .NET.

 

Tabela 1 Tecnologias do Visual Basic 6.0 e como foram migradas para Visual Basic .NET

 

Visual Basic 6.0

Visual Basic .NET

 

 

DAO

 

Código usando objetos de acesso a dados

Controle de ligação de dados

 

 

Código usando objetos de acesso a dados

Não suportado

 

 

 

RDO

 

Código usando objetos de acesso a dados

Controle de ligação de dados

Designer para conexão de dados

 

Código usando objetos de acesso a dados

Não suportado

Não suportado

 

ADO

"

A exibição deste artigo foi interrompida

Este post está disponível para assinantes MVP.



Renato Guimarães (renatokbca@msn.com) é SCJP, SCWCD, MCAD.NET, MCSD.NET, MCT e Microsoft Student Ambassador Platinum. Líder do Sharp Shooters.NET, desenvolvedor do Centro de Estudos e Sistemas Avançados do Recife (http://www.cesar [...]

O que você achou deste post?
Publicidade
Serviços

Mais posts