Usando um Recordset ADO com ADO.NET
Com saudades da ADO e do seu modelo simples de acesso aos dados. Creio que com a série de artigos sobre ADO.NET você já se convenceu das vantagens da ADO.NET sobre a ADO. Mas se você é um saudosista inconsolável , saiba que você ainda pode usar o velho objeto Recordset da ADO na ADO.NET.
Embora a diferença básica entre os dois modelos é que ADO é baseada na COM e ADO.NET é baseado em XML , podemos ainda , por questão de compatibilidade instanciar objetos COM em um projeto ADO.NET. Nesta dica eu vou mostrar como fazer isto passo a passo...
1 - Inicie um novo projeto no Visual Studio.NET com as seguintes características (sinta-se a vontade para alterar a seu gosto.)
![]() |
2- Inclua no
seu formulário um componente DataGrid e a seguir faça uma referência
(aqui esta o pulo do gato) a livraria ADO
, clicando com o botão direito sobre o projeto na janela
Solution Explorer e a seguir selecionado a
opção Add Reference....
A janela ao lado irá surgir ; clique na aba COM e procure pela livraria: Microsoft Activex Data Objects 2.x library , selecionando-a e a segior clicando a seguir no botão de OK.
|
3- Feita a inclusão da livraria você verá o namespace ADODB no seu projeto na janela Solution Explorer conforme ao figura ao lado. | ![]() |
4- Agora quando você digitar o seu código os objetos da library ADODB estarão disponíveis na janela intellisense , conforme abaixo :
5- Finalmente vamos incluir o código no evento Load do formulário que irá fazer as seguintes tarefas :
Definir as strings de conexão e de comando sql para acessar a tabela Clientes da base de dados Access - Northwind.mdb
Criar a conexão , gerar o cursor e o recordset
Definir o DataSet e preenchê-lo com o recordset
Veja como seria o código :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Define uma string para conexão e outra sql para acessar a tabela Clientes do banco de dados Northwind.mdb Dim conexao As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\teste\Northwind.mdb" Dim sql As String = "Select CódigoDoCliente As Codigo, NomeDaEmpresa As Empresa From Clientes"
'abre a conexao e define o tipo de cursor Dim conn As Connection = New Connection() Dim ModoConn As Integer = ConnectModeEnum.adModeUnknown conn.CursorLocation = CursorLocationEnum.adUseServer conn.Open(conexao, "", "", ModoConn) 'gera o recordset Dim regAfetados As Object Dim cmdtype As Integer = CommandTypeEnum.adCmdText Dim rs As _Recordset = conn.Execute(sql)
'cria um dataset e preenche com o recordset Dim ds As DataSet = New DataSet("Recordset") Dim da As OleDbDataAdapter = New OleDbDataAdapter()
da.Fill(ds, rs, "Clientes") 'exibe os dados no datagrid DataGrid1.DataSource = ds.DefaultViewManager End Sub |
6- Só falta executar e conferir ...
Garantido , Né ...!!!
até a próxima dica VB.NET...
José Carlos Macoratti