Visando facilitar o dia-a-dia dos desenvolvedores estou disponibilizando essa camada de acesso a banco de dados Sql Server.
Download: http://www.megaupload.com/?d=5NITFTPZ
Todas os métodos retornam um type com as seguintes informações:
Situacao ("0" - OK; "1" - Duplicado; "2" - Inexistente; 9 - "Erro")
Mensagem (Quando situação = "9", retorna a mensagem do erro)
rsDadosRetorno (Recordset com os dados retornado)
CaminhoDownloadArquivo (Caminho onde o arquivo foi baixado do banco de dados)
Abaixo listo as assinaturas dos métodos que constam nessa camada:
[Estabelece conexão com o Banco de Dados]
Public Function AbreConexao(ByVal p_sServidor As String, ByVal p_sBanco As String, ByVal p_sUsuario As String, ByVal p_sSenha As String, ByVal p_iConexao As Integer, Optional ByVal p_iTimeOutConexao As Integer = 30, Optional ByVal p_iTimeOutComando As Integer = 360) As Variantp_sServidor = Nome ou Ip do Servidor
p_sBanco = Nome do Banco de Dados
p_sUsuario = Nome do Usuário do Banco de Dados
p_sSenha = Senha do Usuário do Banco de Dados
p_iConexao = Número da Instância da Conexão
p_iTimeOutConexao = Tempo limite para estabelecer conexão em segundos (Valor padrão: 30)
p_iTimeOutComando = Tempo limite para executar um comando em segundos (Valor padrão: 360)
[Fecha a conexão com o Banco de Dados]
p_iTimeOutComando = Tempo limite para executar um comando em segundos (Valor padrão: 360)
[Fecha a conexão com o Banco de Dados]
Public Function FechaConexao (ByVal p_iConexao As Integer)
p_iConexao = Número da Instância da Conexão
[Executa um comando]
p_iConexao = Número da Instância da Conexão
[Executa um comando]
Public Function ExecutaComando(ByVal p_iConexao As Integer, ByVal p_sSQL As String, Optional ByVal p_bUsaBeginTran As Boolean = True, Optional ByVal p_TipoCursorRecordset As Integer = 3) As Variant
p_iConexao = Número da Instância da Conexão
p_iConexao = Número da Instância da Conexão
p_sSQL = Comando a ser executado (INSERT, SELECT, UPDATE, STORED PROCEDURE, CREATE, DROP entre outros)
p_bUsaBeginTran = True (-1) abre uma transação (Valor Padrão); False (0) não abre uma transação
p_TipoCursorRecordset = Tipo de Cursor do Recordset (0 - Somente Leitura; 1 - Não Visualiza Registros excluídos por outros usuários; 2 -Dinâmico; 3 - Estático)
[Confirma a execução do comando se existir uma transação aberta]
Public Function Commit(ByVal p_iConexao As Integer) As Variant
p_iConexao = Número da Instância da Conexão
p_bUsaBeginTran = True (-1) abre uma transação (Valor Padrão); False (0) não abre uma transação
p_TipoCursorRecordset = Tipo de Cursor do Recordset (0 - Somente Leitura; 1 - Não Visualiza Registros excluídos por outros usuários; 2 -Dinâmico; 3 - Estático)
[Confirma a execução do comando se existir uma transação aberta]
Public Function Commit(ByVal p_iConexao As Integer) As Variant
p_iConexao = Número da Instância da Conexão
[Desfaz a execução do comando se existir uma transação aberta]
Public Function Rollback(ByVal p_iConexao As Integer) As Variant
p_iConexao = Número da Instância da Conexão
p_iConexao = Número da Instância da Conexão
[Grava um arquivo no banco de dados]
p_iConexao = Número da Instância da Conexão
p_sSQL = Consulta (Select) apontando para o registro onde será salvo o arquivo
p_sNomeCampo = Nome do campo onde será gravado o arquivo
p_sCaminhoArquivo = Caminho completo do arquivo que será salvo
[Baixa o arquivo do banco de dados]
Public Function BaixaArquivo(ByVal p_iConexao As Integer, ByVal p_sSQL As String, ByVal p_sNomeCampo As String, ByVal p_sCaminhoArquivoDownload As String) As Variant
p_iConexao = Número da Instância da Conexão
p_sSQL = Consulta (Select) apontando para o registro onde será salvo o arquivo p_iConexao = Número da Instância da Conexão
p_sNomeCampo = Nome do campo onde será gravado o arquivo
p_sCaminhoArquivoDownload = Caminho completo do arquivo que será baixado. Poderá recer outro nome
Exemplo em Visual Basic:
Dim vRetorno As Variant
Dim objBanco As New BancoDeDados.SqlServer
Dim iConexao As Integer
iConexao = 1
'Abertura de Conexao
vRetorno = objBanco.AbreConexao("localhost", "master", "sa", "", iConexao)
If vRetorno.Situacao = 0 Then
MsgBox "Banco de Dados conectado"
Else
MsgBox "Problema na Conexao. Erro = " & vRetorno.Mensagem
Exit Sub
End If
Set vRetorno = Nothing
'Criacao de Tabela
vRetorno = objBanco.ExecutaComando(iConexao, "CREATE TABLE USUARIO (ID INT PRIMARY KEY, NOME VARCHAR(50), FOTO IMAGE)", False)
If vRetorno.Situacao = 0 Then
MsgBox "Tabela criada com sucesso"
Else
MsgBox "Problema na criacao da tabela. Erro = " & vRetorno.Mensagem
End If
Set vRetorno = Nothing
'Inclui registro
vRetorno = objBanco.ExecutaComando(iConexao, "INSERT INTO USUARIO (ID,NOME) VALUES (1, 'JOAO')")
If vRetorno.Situacao = 0 Then
Call objBanco.Commit(iConexao)
MsgBox "Usuario incluido com sucesso"
ElseIf vRetorno.Situacao = 1 Then
MsgBox "Usuario ja existe"
Else
MsgBox "Problema na inclusao. Erro = " & vRetorno.Mensagem
End If
Set vRetorno = Nothing
'Grava arquivo no banco
vRetorno = objBanco.GravaArquivo(iConexao, "SELECT FOTO FROM USUARIO WHERE NOME = 'JOAO'", "FOTO", "C:\IMAGEM.JPG")
If vRetorno.Situacao = 0 Then
MsgBox "Arquivo gravado com sucesso"
ElseIf vRetorno.Situacao = 2 Then
MsgBox "Usuario nao encontrado"
Else
MsgBox "Problema no upload do arquivo. Erro = " & vRetorno.Mensagem
End If
Set vRetorno = Nothing
'Consulta os dados da Tabela
vRetorno = objBanco.ExecutaComando(iConexao, "SELECT * FROM USUARIO", False, 0)
If vRetorno.Situacao = 0 Then
Do While Not vRetorno.rsDadosRetorno.EOF
MsgBox vRetorno.rsDadosRetorno.fields("NOME")
vRetorno.rsDadosRetorno.MoveNext
Loop
ElseIf vRetorno.Situacao = 2 Then
MsgBox "Usuario nao encontrado"
Else
MsgBox "Problema na Consulta. Erro = " & vRetorno.Mensagem
End If
Set vRetorno = Nothing
'Grava arquivo no banco
vRetorno = objBanco.BaixaArquivo(iConexao, "SELECT FOTO FROM USUARIO WHERE NOME = 'JOAO'", "FOTO", "C:\FOTO_BAIXADA.JPG")
If vRetorno.Situacao = 0 Then
MsgBox "Arquivo baixado do banco de dados com sucesso"
ElseIf vRetorno.Situacao = 2 Then
MsgBox "Usuario nao encontrado"
Else
MsgBox "Problema no upload do arquivo. Erro = " & vRetorno.Mensagem
End If
Set vRetorno = Nothing
'Fecha conexao
Call objBanco.FechaConexao(iConexao)
MsgBox "Banco de dados desconectado"
Dim objBanco As New BancoDeDados.SqlServer
Dim iConexao As Integer
iConexao = 1
'Abertura de Conexao
vRetorno = objBanco.AbreConexao("localhost", "master", "sa", "", iConexao)
If vRetorno.Situacao = 0 Then
MsgBox "Banco de Dados conectado"
Else
MsgBox "Problema na Conexao. Erro = " & vRetorno.Mensagem
Exit Sub
End If
Set vRetorno = Nothing
'Criacao de Tabela
vRetorno = objBanco.ExecutaComando(iConexao, "CREATE TABLE USUARIO (ID INT PRIMARY KEY, NOME VARCHAR(50), FOTO IMAGE)", False)
If vRetorno.Situacao = 0 Then
MsgBox "Tabela criada com sucesso"
Else
MsgBox "Problema na criacao da tabela. Erro = " & vRetorno.Mensagem
End If
Set vRetorno = Nothing
'Inclui registro
vRetorno = objBanco.ExecutaComando(iConexao, "INSERT INTO USUARIO (ID,NOME) VALUES (1, 'JOAO')")
If vRetorno.Situacao = 0 Then
Call objBanco.Commit(iConexao)
MsgBox "Usuario incluido com sucesso"
ElseIf vRetorno.Situacao = 1 Then
MsgBox "Usuario ja existe"
Else
MsgBox "Problema na inclusao. Erro = " & vRetorno.Mensagem
End If
Set vRetorno = Nothing
'Grava arquivo no banco
vRetorno = objBanco.GravaArquivo(iConexao, "SELECT FOTO FROM USUARIO WHERE NOME = 'JOAO'", "FOTO", "C:\IMAGEM.JPG")
If vRetorno.Situacao = 0 Then
MsgBox "Arquivo gravado com sucesso"
ElseIf vRetorno.Situacao = 2 Then
MsgBox "Usuario nao encontrado"
Else
MsgBox "Problema no upload do arquivo. Erro = " & vRetorno.Mensagem
End If
Set vRetorno = Nothing
'Consulta os dados da Tabela
vRetorno = objBanco.ExecutaComando(iConexao, "SELECT * FROM USUARIO", False, 0)
If vRetorno.Situacao = 0 Then
Do While Not vRetorno.rsDadosRetorno.EOF
MsgBox vRetorno.rsDadosRetorno.fields("NOME")
vRetorno.rsDadosRetorno.MoveNext
Loop
ElseIf vRetorno.Situacao = 2 Then
MsgBox "Usuario nao encontrado"
Else
MsgBox "Problema na Consulta. Erro = " & vRetorno.Mensagem
End If
Set vRetorno = Nothing
'Grava arquivo no banco
vRetorno = objBanco.BaixaArquivo(iConexao, "SELECT FOTO FROM USUARIO WHERE NOME = 'JOAO'", "FOTO", "C:\FOTO_BAIXADA.JPG")
If vRetorno.Situacao = 0 Then
MsgBox "Arquivo baixado do banco de dados com sucesso"
ElseIf vRetorno.Situacao = 2 Then
MsgBox "Usuario nao encontrado"
Else
MsgBox "Problema no upload do arquivo. Erro = " & vRetorno.Mensagem
End If
Set vRetorno = Nothing
'Fecha conexao
Call objBanco.FechaConexao(iConexao)
MsgBox "Banco de dados desconectado"
Nenhum comentário:
Postar um comentário