Olá leitor, meu nome é Mauricio Junior e estou disposto a mostrar o realmente funcionamento de um componente registrado dentro do COM + (COM PLUS) usando páginas ASP. Forma de conectar ao banco de dados, criar functions, módulos globais e classes separadamente.
Antes de começar definitivamente, gostaria de falar que as partes I e II são indispensáveis para você que não possui o convívio real com essas tecnologias, ou seja, ASP 3.0 e VB 6.0 registrado no COM+. Os mesmos podem ser encontrados no site www.aspneti.com, www.juliobattisti.com.br.
Segue três livros que publiquei no mercado pela editora Ciência Moderna.
- Integrando e conhecendo Visual Basic 6.0
O primeiro passo é como criar um projeto utilizando a ferramenta criada pela Microsoft. Acessei o menu iniciar / todos os programas / microsoft visual studio 6.0 / microsoft visual basic 6.0. (1.1 – Visual Basic 6.0)
Referência: 1.1 – Visual Basic 6.0
O próximo passo, criei projeto do tipo ActiveX DLL. Escolhi o tipo e cliquei no botão abrir. (1.2 – Visual Basic 6.0)
Referência: 1.2 – Visual Basic 6.0
Ao lado direito, existe a tela acima do properties onde é criado automaticamente uma pasta Class Modules com a classe dentro chamada Class1. (1.3 – Visual Basic 6.0).
Referência: 1.3 – Visual Basic 6.0
Preciso criar um módulo para o projeto. Seria usado em todas as classes e projetos que irei criar futuramente. Cliquei com o botão direito do mouse em cima de project1, depois fui a opção add e por final em module. (1.4 – Visual Basic 6.0)
Referência: 1.4 – Visual Basic 6.0
Foi criado uma outra pasta para o módulo. Colocarei todas as funções que poderão ser usadas por toda classe. Outras classes de outros projetos podem usá-lo, basta apenas importar o módulo para o projeto. (1.5 – Visual Basic)
Referência: 1.5 – Visual Basic 6.0
- Renomear Projeto, Módulo e Classe.
Até o momento, não coloquei nome na classe, nem módulo e nem mesmo no projeto. O próximo passo é renomear as classes e o projeto. Cliquei no botão properties window na barra de tarefas onde aparecem automaticamente as propriedades, cliquei em cima da classe em seguida na propriedade (Name). (1.6 – Visual Basic 6.0)
Referência: 1.6 – Visual Basic 6.0
Para ficar melhor, segue os nomes alterados na tabela 1.7 – Visual Basic 6.0.
Classe |
clsSeguranca |
Modulo |
Global |
Projeto |
CPESeguranca |
Referência: 1.7 – Visual Basic 6.0
Depois que renomeei todo o projeto, irei criar uma função dentro do arquivo Global.bas. Essa função será para conectar ao banco de dados fazendo autenticação com usuário e senha, lembrando que deverá ser pública. (1.8 – Visual Basic 6.0)
Public Function AbreConexao(ByVal Metodo As String, _ Optional ByVal sMetodoOrigem As String = "") As Boolean On Error GoTo error 'Usando o metod para abrir "OPEN" If UCase(Metodo) = "OPEN" Then CONN.Open "provider=sqloledb;user id=usuario; password=senha ;initial catalog=banco de dados;Data Source=servidor" 'Usando o metodo para fechar "CLOSE" ElseIf UCase(Metodo) = "CLOSE" Then CONN.Close End If error: If Err.Number <> 0 Then AbreConexao = False Else AbreConexao = True End If End Function |
Referência: 1.8 – Visual Basic 6.0
Explicação:
Analisando a assinatura da função, é pública, recebe dois parâmetros do tipo string, o segundo parâmetro é opcional e retorna um valor Boolean, ou seja, true ou false. Nesse primeiro momento, usarei a função apenas mandando o primeiro parâmetro. Seguindo, uso o On Error GoTo error para pegar algum tipo de erro se por um a caso acontecer que o banco de dados tiver fora do ar, ou usuário e senha são inválidos. (1.9 – Visual Basic 6.0)
Public Function AbreConexao(ByVal Metodo As String, _ Optional ByVal sMetodoOrigem As String = "") As Boolean |
Referência: 1.9 – Visual Basic 6.0
Continuando dentro da função, existe uma condição para abrir ou fechar o banco de dados. Para abrir o banco, basta passar “OPEN” e para fechar o banco “CLOSE”. Isso tudo porque dentro, pergunto se foi enviado o valor para abrir ou fechar o banco de dados. (2.0 – Visual Basic 6.0)
'Usando o metod para abrir "OPEN" If UCase(Metodo) = "OPEN" Then |
Referência: 2.0 – Visual Basic 6.0
Se o valor do parâmetro for OPEN, atribuo o meu objeto CONN criando o objeto de conexão. Abro o banco de dados passando a string de conexão. (2.1 – Visual Basic 6.0)
CONN.Open "provider=sqloledb;user id=usuario; password=senha ;initial catalog=banco de dados;Data Source=servidor" |
Referência: 2.1 – Visual Basic 6.0
Troque o valor do user id, password, initial catalog e data source. Os valores que estão na referência 2.1 são valores ilustrativos.
User id |
Usuário do banco de dados |
Password |
Senha do usuário do banco de dados |
Initial Catalog |
Banco de dados do servidor |
Data Source |
Nome do servidor do banco de dados ou endereço da internet para acesso. |
Referência: 2.2 – Visual Basic 6.0
Se o valor do parâmetro não for OPEN, não entrará na primeira condição, será verificado em outra condição novamente. (2.3 – Visual Basic 6.0)
'Usando o metodo para fechar "CLOSE" ElseIf UCase(Metodo) = "CLOSE" Then |
Referência: 2.3 – Visual Basic 6.0
Sendo CLOSE, a função entende que a conexão com o banco de dados deve ser fechada. (2.4 – Visual Basic 6.0)
CONN.Close |
Referência: 2.4 – Visual Basic 6.0
Para finalizar a função sempre verifico se ocorreu algum erro. Lembre-se que estou utilizando o On Error GoTo error. (2.5 – Visual Basic 6.0)
error: If Err.Number <> 0 Then AbreConexao = False Else AbreConexao = True End If |
Referência: 2.5 – Visual Basic 6.0
Explicação:
Faço uma verificação perguntando se o Err.Number for diferente de 0, atribuo a função o valor false, se não atribuo o valor true. Essa atribuição de valores é a função retornar o valor ao método que o chamou.
Até o momento, mostrei como criar uma função para conexão com o banco de dados.
Fique de olho nos próximos artigos.
Espero ter ajudado.
Mauricio Junior
MPC Microsoft WebApplication