quarta-feira, 18 de abril de 2012
Lotus Connector Data Access
USO DA FUNCIONALIDADE:
Use "Lotus Connector Data Access"
Dim objOracle As LotusConnectorDataAccess
aux = |QUERY|
Set objOracle = New LotusConnectorDataAccess("oracle", "DatabaseName", usuario, senha)
If objOracle.Connect Then
If objOracle.ExecuteSQL(aux) Then
msgbox "QUERY EXECUTADA"
Exit Function
Else
Call objOracle.Disconnect
Exit Function
End If
SCRIPT LIBRARIES:
Option Public
Uselsx "*lsxlc"
Public Class LotusConnectorDataAccess
objConn As LCConnection
Private strLocalDBType As String
Private strLocalDatabase As String
Private strLocalUser As String
Private strLocalPassword As String
Private lngLocalRowsReturned As Long
Private flLocalFieldList As LCFieldList
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'OBJETIVO: Construtor da classe
'PARAMETROS: strDBType -> Tipo de banco de dados (oracle, db2, etc)
' strDatabase -> Nome do banco de dados a ser acessado
' strUser -> O nome do usuário a conectar no banco de dados. Se não precisar e só passar ""
' strPassword -> A senha do usuário a conectar no banco de dados. Se não precisar e só passar ""
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Public Sub New(strDBType As String, strDatabase As String, strUser As String, strPassword As String)
DBType = strDBType
DatabaseName = strDatabase
UserName = strUser
Password = strPassword
Set OracleConection = New LCConnection(strDBType)
End Sub
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'OBJETIVO: Destrutor da classe
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Public Sub Delete
Set objConn = Nothing
End Sub
Public Property Get RowsReturned As Long
RowsReturned = lngLocalRowsReturned
End Property
Public Property Set RowsReturned As Long
lngLocalRowsReturned = RowsReturned
End Property
Public Property Get DBType As String
DBType = strLocalDBType
End Property
Public Property Set DBType As String
strLocalDBType = DBType
End Property
Public Property Get DatabaseName As String
DatabaseName = strLocalDatabase
End Property
Public Property Set DatabaseName As String
strLocalDatabase = DatabaseName
End Property
Property Get UserName As String
UserName = strLocalUser
End Property
Property Set UserName As String
strLocalUser = UserName
End Property
Property Get Password As String
Password = strLocalPassword
End Property
Property Set Password As String
strLocalPassword = Password
End Property
Public Property Get FieldListReturned As LCFieldList
Set FieldListReturned = flLocalFieldList
End Property
Public Property Set FieldListReturned As LCFieldList
Set flLocalFieldList = FieldListReturned
End Property
Public Property Get OracleConection As LCConnection
Set OracleConection = objConn
End Property
Public Property Set OracleConection As LCConnection
Set objConn = OracleConection
End Property
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'OBJETIVO: Conecta no banco de dados
'RETORNO: TRUE -> Se a conexão foi realizada com sucesso
' FALSE -> Se a conexão não foi estabelecida
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Public Function Connect() As Integer
On Error Goto Error_Handler
Select Case DBType
Case "oracle":
objConn.Server = DatabaseName
objConn.Userid = Username
objConn.Password = Password
objConn.Connect
Connect = True
Case "db2":
objConn.Database = DatabaseName
objConn.Userid = Username
objConn.Password = Password
objConn.Connect
Connect = True
Case Else
Msgbox "A classe não implementa acesso ao banco da dados " + DBType, 0+16, "Atenção"
Connect = False
End Select
Goto Fim
Error_Handler:
Msgbox "Ocorreu um erro ao tentar conectar ao banco de dados." + Chr(13) + Chr(10) + _
"Número: " + Cstr(Err) + " - Descrição: " + Error, 0+16, "Erro"
Connect = False
Resume Fim
Fim:
End Function
Public Sub Disconnect
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'OBJETIVO: Desconecta do SQL
'PARAMETROS: Nenhum
'RETORNO: Nenhum
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
If objConn.IsConnected Then
objConn.Disconnect
End If
End Sub
Public Function ExecuteSQL(strSQL As String) As Variant
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'OBJETIVO: Executa um comando SQL que pode ser SELECT, DELETE, UPDATE, INSERT
'PARAMETROS: strSQL -> A query que sera enviada ao banco de dados
' fieldListReturned -> Retorna uma coleção de dados caso a query seja um select.
'RETORNO: TRUE -> Se a query foi executada com sucesso
' FALSE -> Se a query não foi executada com sucesso
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
On Error Goto Error_Handler
If objConn.IsConnected Then
Set FieldListReturned = New LCFieldList
RowsReturned = objConn.Execute(strSQL, FieldListReturned)
ExecuteSQL = True
Else
ExecuteSQL = False
End If
Goto Fim
Error_Handler:
Msgbox "Ocorreu um erro na função ExecuteSQL: " + Chr(13) + Chr(10) + _
"Número: " + Cstr(Err) + " - Descrição: " + Error, 0+16, "Erro"
ExecuteSQL = False
Resume Fim
Fim:
End Function
End Class
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário