DICAS .NET

 Busca Online:

 
Seja bem vindo(a) Visitante, você não está logado deseja logar
no portal para participar de serviços e promoções ? clique aqui.


No caso de perder a senha, acesse aqui e receba por e-mail.
Deseja entrar em contato conosco, acesse aqui e mande-nos um e-mail.

Sistema de Login – Parte IV

por Mauricio Junior em 1/1/2011 0

 

Olá pessoal, estou disposto mostrar a parte do sistema de login utilizando VB 6.0, ASP 3.0, SQL Server e Stored Procedure. As partes anteriores podem ser encontradas nos sites www.aspneti.com e www.juliobattisti.com.br.

 

A parte III, criei uma function na classe global.bas com o nome AbreConexao. Antes mesmo de compilar a aplicação VB 6.0, preciso adicionar uma referência para o aplicativo, resumindo, é uma dll responsável para facilitar acesso ao banco de dados, ou seja, um drive de acesso. É chamada de Microsoft ActiveX Data Objects 2.5 Library.

 

Cliquei no menu Project e em seguida na opção References para adicionar a referência citada anteriormente. Referência (4.1 – Visual Basic 6.0)

 

Referência: 4.1 – Visual Basic 6.0

 

A tela (4.2 – Visual Basic 6.0) possui uma relação de várias dlls disponíveis para serem usadas dentro do aplicativo. Escolhi uma chamada Microsoft ActiveX Data Objects 2.5 Library. Referência (4.2 – Visual Basic 6.0)

 

Referência: 4.2 – Visual Basic 6.0

 

Marquei a dll necessária para acesso ao banco de dados utilizando o Visual Basic 6.0. Procurei digitando a letra “m” e em seguida marquei a mesma desejada. Para finalizar cliquei no botão OK.

 

 

Compilar o Aplicativo

 

Tudo que foi feito até agora, nenhuma hora foi compilado o aplicativo para verificação de erro.  Lembro que o Visual Basic 6.0 não é igual ao novo Visual Studio.NET 2003 ou 2005, isto é, o mesmo só mostra o erro se for compilado. Para compilar e gerar a dll, cliquei no menu File / Make (nome do aplicativo). Dessa forma é gerado a dll.  Referência (4.3 – Visual Basic 6.0)

 

 

 

Referência: 4.3 – Visual Basic 6.0

 

 

O interessante é que se tiver algum tipo de erro dentro do aplicativo por exemplo: sintaxe ou sem fechar algum “end if”, a dll não será gerada.

Antes de mostrar algum erro de sintaxe ou aplicação, o Visual Basic 6.0 pedirá um caminho para gerar ou gravar a dll. Referência (4.4 – Visual Basic 6.0).

 

Referência: 4.4 – Visual Basic 6.0

 

 

Sem erro, a dll será gerada e pronta para ser usada.

Uma dica é, compile sempre o aplicativo para saber se possui algum erro.

 

 

Criar mais functions

 

Bom, agora que já foi mostrado como compilar um aplicativo, irei mostrar e criar outras functions dentro do global.bas. Com apenas a function AbreConexao, não adianta em nada para ser usada em um aplicativo robusto ou simples. Mais quatro functions serão criadas dentro do global.bas e assim utilizarmos uma página ASP para logar utilizando o aplicativo feito com o Visual Basic 6.0 registrado no COM + (COM PLUS).

 

Segue uma tabela com a relação de todas as functions com explicação. (Referência 4.5 – Visual Basic 6.0).

 

 

 

 

Function

Explicação da funcionalidade

ExecutaSQLArray

Essa function serve para executar algum comando SQL que retorne um array de dados. Essa forma de array pode ser entendido como RECORDSET, ou seja, um SELECT.

 

 

ExecutaSQL

Essa function serve para apenas executar um comando SQL, não retornar valor, ou seja, é responsável para executar um: INSERT, UPDATE e DELETE.

 

 

Encryptografar

Essa function serve apenas para receber um parâmetro, criptografar e retornar o valor criptografado. Irei utilizar um componente externo para isso.

 

 

DesenCryptar

Essa function serve apenas para receber um parâmetro criptografado e retornar o valor descriptografado, ou seja, ao contrário da function anterior.

Referência: 4.5 – Visual Basic 6.0

 

 

 

 

 

Dentro do arquivo .bas, no final do método AbreConexao, dei um ENTER e coloquei as functions relacionadas acima:  Cada referência será uma function comentada. (Referência 4.6 – Visual Basic 6.0)

 

 

 

Public Function ExecutaSQLArray(ByVal SQL As String, _

                                Optional ByVal sMetodoOrigem As String = "") As Variant

 

Static vRetorno  As Variant

Static sMetodo   As String

Static bRetorno  As Boolean

 

On Error GoTo error

   

    'Setando Objeto RecordSet

    Set RS = CreateObject("ADODB.RECORDSET")

   

    'Fazendo Open no Objeto SQL

    RS.Open SQL, CONN

      

    'Criando Array

    vRetorno = RS.GetRows

    ExecutaSQLArray = vRetorno

   

    'Fechando RS

    RS.Close

    Set RS = Nothing

  

error:

    If Err.Number <> 0 And Err.Number <> 3021 Then

        'Fechando RS

        RS.Close

        Set RS = Nothing

        'Fechando Conexao

        ExecutaSQLArray = ""

    Else

        If Not IsArray(vRetorno) Then

            ExecutaSQLArray = "0"

        End If

    End If

   

End Function

 

Referência: 4.6 – Visual Basic 6.0

Explicação:

 

Analisando a assinatura da function, recebe dois parâmetros, um opcional e outro obrigatório, que no final é retornado um valor do tipo Variant. Esse tipo significa que, será retornado um array de dados. (Referência 4.7 – Visual Basic 6.0)

 

 

 

Public Function ExecutaSQLArray(ByVal SQL As String, _

                                Optional ByVal sMetodoOrigem As String = "") As Variant

 

Referência: 4.7 – Visual Basic 6.0

 

 

Adicionei algumas variáveis no começo estáticas, cada uma com um tipo. (Referência 4.8 – Visual Basic 6.0)

 

 

 

Static vRetorno  As Variant

Static sMetodo   As String

Static bRetorno  As Boolean

 

Referência: 4.8 – Visual Basic 6.0

 

Simples variáveis que serão usadas dentro da function.

 

 

 

 

On Error GoTo error

   

    'Setando Objeto RecordSet

    Set RS = CreateObject("ADODB.RECORDSET")

   

    'Fazendo Open no Objeto SQL

    RS.Open SQL, CONN

      

    'Criando Array

    vRetorno = RS.GetRows

    ExecutaSQLArray = vRetorno

   

    'Fechando RS

    RS.Close

    Set RS = Nothing

 

Referência: 4.9 – Visual Basic 6.0

 

No próximo passo do código, usei o on error goto erro onde posso tratar o erro se acontecer algum. Criei um objeto do tipo RecordSet, abri esse objeto. Crio o array atribuindo para a variável do tipo declarada anteriormente.

 

O segredo em criar o array com o RecordSet é colocar a function GetRows. Dessa forma, é gerado um array e pode ser atribuída ao tipo variant do Visual Basic 6.0. Atribuo a variável vRetorno ao nome da function ExecutaSQLArray.

Fecho o RecordSet e seto para nothing. É muito importante colocar nothing para o objeto.

 

 

 

error:

    If Err.Number <> 0 And Err.Number <> 3021 Then

        'Fechando RS

        RS.Close

        Set RS = Nothing

        'Fechando Conexao

        ExecutaSQLArray = ""

    Else

        If Not IsArray(vRetorno) Then

            ExecutaSQLArray = "0"

        End If

    End If

Referência: 4.10 – Visual Basic 6.0

 

Explicação:

 

Para finalizar, dentro do laço error, existe uma condição para o código erro.number, se for diferente de zero ou diferente do número 3021, fecho os objetos e atribuo a function o valor vazio. Se não houver erro, criei mais uma condição perguntar se a variável não é array, se for verdadeiro, atribuo a function ao valor zero.

 

Segue a function total. (Referência 4.11 – Visual Basic 6.0)

 

 

Referência: 4.11 – Visual Basic 6.0

 

Bom, fico por aqui. Nos próximos passos, mostrarei as outras functions dando a devida explicação. Espero que tenha gostado.

 

 

Livros publicados do autor:

 

 

 

Mauricio Junior

www.aspneti.com

www.mauriciojunior.org

 

voltar   comente  subir

Download Copy





 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:


Comente (dê sua opinião):

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Padrões de nomenclaturas
101 Exemplos de Linq
Usando PopupControlExtender
Validator no VS 2005
Propaganda Microsoft - Vemos como será e não como é.
Forum utilizando VS 2005 e Ajax
Prepare o Sql Server para o VS 2005
Search do Windows Live em Seu Site
Trabalhando com GridView e RowCommand
Usando Dll Nativa e Using
O futuro da tecnologia com a Microsoft
Vídeo - Serviços do Windows Live
Escrevendo e Controlando Log de Erro
Virus: Provocando sua curiosidade
Dica ReportViewer
Criando TreeView com Visual Studio.NET 2005 (passo 1)
Mensagem JavaScript com .NET
Java J2EE – Segundo Passo
Windows Phone no Brasil
Microsoft com XBox no Windows Phone 7
Chamando Programas de Dentro do Windows Forms
Mais um Windows Phone 7
Public Interface
Código fonte do livro DESENVOLVENDO WEBSERVICES
Máscara valor que funciona
Evento Brasil DotNet - gratuíto
O Avanço do Blu-Ray no Brasil
Criando Email Modelo no Mail - MacBook
User Control Windows executando no Internet Explorer (parte 2 de 2)
Sistema em ASP 3.0 utilizando 3 camadas – Parte 3
Heroes {Community} Launch - Brasilia/DF
Vídeo mostrando como validar vários formulários
Microsoft Research Laptop Multi-Touch
Pagamento via celular
Converter DataView em DataTable




eCode10 Magazine 4 Edição

Baixe a sua sem pagar nada, basta apenas ter um cadastro na comunidade aspneti.com ou ser usuário do ecode10.com.



Edições anteriores
LAYERDEV

Notícias *

Notebook 3D ou 4K?

Notebook vem com tudo...

Visão do Futuro - Day of Glass 2

Futuro próximo pode chegar cedo?...

Lenovo de 14 polegadas IdeaPad

Veja o novo notebook Lenovo IdeaPad...

Windows 8 Store

Channel9 publica um vídeo da Windows Store...

Sony Vaio série Z

Novo Vaio Ultrabook? ou não Ultrabook?...

Samsung quer comprar RIM

Imagine se juntar as duas companhias...

Surface 2.0 mostrado

Novo Surface é mostrado de forma incrível...

Skype Tablet

Será que esse skype tablet pega mesmo?...

Lenovo e o seu novo Ultrabook

Ultrabook chega também pela Lenovo...




NETITC