Vous êtes sur la page 1sur 2

ADO ActiveX Data Objects

incrivel, mas ainda existem pessoas que trabalham com a tecnologia DAO, muita gente deve estar me xingando nesse momento por estar dizendo isso, mas a verdade nua e crua, DAO morreu, lembrando que existe na verso 6 s por uma questo de compatibilidade. Pensando nisso resolvi escrever este artigo que mostra exemplo bem prtico e simples, para que qualquer pessoa possa se familiarizar com o ADO. Quem esta acostumado a mecher com DAO vai ver que no nenhum bicho de sete cabeas, e bem semelhante. Vantagens ADO para DAO Travamento a nivel de registro (DAO s tem suporte a nivel de pgina) Conexo para vrios bancos de dados (flexibilidade) Suporte Cliente/Servidor (mais escalonvel) tecnologia mais recente que o DAO compatibilidade para uma futura migrao para o .NET entre outras caractersticas Para saber mais acessem: http://msdn.microsoft.com/library/default.asp?url=/library/enus/dndao/html/daotoadoupdate_topic13.asp Abra um novo projeto, v no menu Project->References e adicione a referencia Microsoft ActiveX Data Objects 2.x Library Aps insira o cdigo abaixo: ======================================================
'no genereal declare as variaveis Private cnn As ADODB.Connection Private rs As ADODB.Recordset Private Function Inserir() As Boolean rs.AddNew rs!Campo1 = text1.Text rs!Campo2 = text2.Text '... e assim por diante rs.Update Inserir = True End Function Private Function Alterar(id As Double) As Boolean rs.Find "codigo = " & id, , , 1 If Not rs.EOF Then 'se encontrou rs!Campo1 = text1.Text rs!Campo2 = text2.Text '... e assim por diante rs.Update Alterar = True End If End Function Private Function Excluir(id As Double) As Boolean rs.Find "codigo = " & id, , , 1 If Not rs.EOF Then 'se encontrou rs.Delete Excluir = True End If End Function Private Function Consulta(id As Double) As Boolean rs.Find "codigo = " & id, , , 1 '1 - indica a procura a partir do primeiro registro

If Not rs.EOF Then 'se encontrou Call mostraDados Consulta = True End If End Function Private Function Primeiro() As Boolean rs.MoveFirst Call mostraDados End Function Private Function Anterior() As Boolean rs.MovePrevious Call mostraDados End Function Private Function Proximo() As Boolean rs.MoveNext Call mostraDados End Function Private Function Ultimo() As Boolean rs.MoveLast Call mostraDados End Function Private Sub mostraDados() text1.Text=rs!Campo1 text2.Text=rs!Campo2 End Sub Private Sub Form_Load() 'instancia Set cnn = New ADODB.Connection Set rs = New ADODB.Recordset cnn.CursorLocation = adUseClient 'faz conexao com o banco cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;Jet OLEDB:Database Password=MyDbPassword;" 'retorna registros da tabela rs.Open "Select * from tabela", cnn, adOpenStatic, adLockOptimistic End Sub Private Sub Form_Unload(Cancel As Integer) Set rs = Nothing Set cnn = Nothing End Sub ===========================================================================================

Analisando o cdigo: Como se pode perceber foi incrementado um cdigo simples de incluso, alterao, excluso, consulta, e navegao. O cdigo bem semelhante ao do DAO. Agora com voc implemente, modifique e faa alguns destes, voc vera que no to complicado como se pensava. Consideraes: No me preocupei neste exemplo em questes de otimizao, transaes, tratamento de erros, manutenabilidade, apenas na maneira mais direta e clara possivel para utilizao da tcnologia ADO. Penso em fazer isso numa segunda parte, a ser finalizada em breve, pegando este mesmo codigo como exemplo.