CONEXAO COM BANCO DE DADOS ACCESS

EABREU 27/09/2012 09:44:44
#410640
Olá pessoal,

Estou tentando realizar uma conexão com um banco de dados Access utilizando um código exemplo mostrado abaixo mas não estou conseguindo. Está faltando alguma instrução ou configuração inicial que tenho que fazer para que funcione o acesso aos dados?
No meu programa anterior (VB5) eu acesso os dados via comandos SQL e não tenho problemas de navegar sobre os registros com o risco de alterá-los quando, por exemplo, na visualização, alguma caixa de texto com o dado tiver seu conteúdo alterado. O que quero dizer é que os dados somente são gravados ou alterados se eu quiser. Se o programa abaixo funcionar eu vou ter a mesma funcionalidade?
Aceito sugestões.

[ô]define a string de conexão com o banco de dados

Dim strConn As String = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Northwind.mdb[Ô]

[ô]define o objeto OledbConnection usando a string de conexão

Dim conexao As New OleDbConnection(strConn)

[ô]define a instrução SQL que será usada para extrair as linhas da tabela Authors

Dim sql As String = [Ô]Select * From Clientes[Ô]

[ô]cria o objeto OleDbCommand

Dim comando As New OleDbCommand(sql, conexao)

[ô]Cria o objeto DataAdapter

Dim adaptador As New OleDbDataAdapter(comando)

[ô]Cria o objeto DataSet

Dim ds As New DataSet()

[ô]preenche o dataset

adaptador.Fill(ds, [Ô]Clientes[Ô])

[ô]exibe os dados em um datagrid

DataGrid1.DataSource = ds


Obrigado

Edson
OMAR2011 27/09/2012 12:17:45
#410661
Resposta escolhida
Dim strConn As String = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Northwind.mdb[Ô]

[ô]define o objeto OledbConnection usando a string de conexão

Dim conexao As New OleDbConnection(strConn)

[ô]define a instrução SQL que será usada para extrair as linhas da tabela Authors

Dim sql As String = [Ô]Select * From Clientes[Ô]

[ô]cria o objeto OleDbCommand

Dim comando As New OleDbCommand(sql, conexao)

[ô]Cria o objeto DataAdapter

Dim adaptador As New OleDbDataAdapter(comando)

[ô]Cria o objeto DataSet

Dim ds As New DataSet()

[ô]preenche o dataset

adaptador.Fill(ds, [Ô]Clientes[Ô])

Dim dt = New DataTable

dt = ds.Tables([Ô]Clientes[Ô])
ou
dt = ds.Tables(0)

[ô]exibe os dados em um datagrid

DataGrid1.DataSource = dt

EABREU 27/09/2012 13:22:22
#410664
Obrigado OMAR2011
EABREU 27/09/2012 16:12:09
#410690
Realizar a consulta e colocar o resultado no DataGrid funcionou perfeitamente.
Porém, se ao invés de colocar o resultado no DataGrid eu quisesse colocar cada resultado da pesquisa em uma caixa de texto? Eu quero dizer, por exemplo, o registro contendo nome vai na caixa texto1, o endereço na caixa texto2, o telefone na caixa texto3, e assim por diante. No VB5 eu utilizei a opção index da caixa de texto mas já percebi que no VB.net isso não existe.
Aceito sugestões.

Obrigado,

Edson
OMAR2011 27/09/2012 17:07:35
#410698
Dim strConn As String = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Northwind.mdb[Ô]

[ô]define o objeto OledbConnection usando a string de conexão

Dim conexao As New OleDbConnection(strConn)
conexao.Open()
[ô]define a instrução SQL que será usada para extrair as linhas da tabela Authors

Dim sql As String = [Ô]Select * From Clientes[Ô]

[ô]cria o objeto OleDbCommand

Dim comando As New OleDbCommand(sql, conexao)


Dim dr As OleDbDataReader = comando.ExecuteReader
If dr.Read Then

txtCodigoUsuario.Text = dr([Ô]Codigo[Ô])
txtNomeUsuario.Text = dr([Ô]Nome[Ô])
End If
dr.Close()
conexao.Close()
Tópico encerrado , respostas não são mais permitidas