OBTENDO DADOS DE UM BD VIA DATASET - VB.NET

ALAP 27/06/2017 16:16:06
#474782
Boa Tarde!

Por favor, alguém poderia me ajudar?

Estabeleci uma conexão com um banco de dados, mas não estou conseguindo extrair os dados. Gostaria de extrair os dados e exibir em uma TextBox, conforme tentativa abaixo:

[ô]Cria uma instância de um DataSet, e retorna dados da tabela cliente
Dim ds As New DataSet([Ô]cliente[Ô])

TextBox1.Text = ds.Tables([Ô]cliente[Ô]).Rows(0)([Ô]nm_cliente[Ô])


Quando executo o código, surge o seguinte erro: [Ô]Não há linha na posição 0[Ô].

Alguém poderia ajudar? Estou migrando do VB6 para VB.Net.

Obrigado.
JABA 27/06/2017 16:28:01
#474783
Resposta escolhida
Talvez o seu DataSet esteja vazio. Faça a depuração e confira isso.
ALAP 27/06/2017 17:39:42
#474785
Citação:

:
Talvez o seu DataSet esteja vazio. Faça a depuração e confira isso.


Quando eu carrego os dados via datagridview os dados carregam normalmente. Consigo adicionar, editar e excluir dados do banco de dados via DataSet, só não estou conseguindo extrair os dados do BD.
COQUITO 27/06/2017 18:47:00
#474787
Eu acho que vc esta querendo fazer este

Textbox.tex=datagrid.rows.cells([Ô]coluna[Ô]).value
Isso vc deve colocar no evento duploclik_datagrid
ALAP 27/06/2017 20:26:50
#474791
Citação:

:
Eu acho que vc esta querendo fazer este

Textbox.tex=datagrid.rows.cells([Ô]coluna[Ô]).value
Isso vc deve colocar no evento duploclik_datagrid


Obrigado pela força!
Na verdade estou querendo obter os dados do BD via DataSet ao invés de obter pelo DataGridView.
JABA 27/06/2017 22:04:39
#474795
Quando você cria uma nova instância do DataSet, ele fica vazio, daí você teria que preenche-lo novamente ou passar um endereço(instância) de outro dataset para ele. Para confirmar se existem dados nele, utilize o depurador em cima dessa nova instância que você está criando. Aqui está um exemplo que encontrei na net. Mas se você quer mesmo trabalhar desta forma, lhe aconselharia a utilizar o DataTable em vez do DataSet.

define a string de conexão com o banco de dados
Dim strConn As String = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & TextBox1.Text

[ô]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 Authors Where Au_ID < 20[Ô]

[ô]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 dsbiblio As New DataSet()

[ô]preenche o dataset
adaptador.Fill(dsbiblio, [Ô]Authors[Ô])

[ô]exibe os dados em um datagrid
DataGrid1.DataSource = dsbiblio


www.macoratti.net/vbn_dts1.htm
OMAR2011 27/06/2017 22:41:39
#474797
Imita o Jaba.
Seu dataset preenche desta forma.
[txt-color=#e80000]Dim ds As New DataSet([Ô]cliente[Ô])[/txt-color]
ALAP 04/07/2017 18:20:23
#475013
Citação:

:
Quando você cria uma nova instância do DataSet, ele fica vazio, daí você teria que preenche-lo novamente ou passar um endereço(instância) de outro dataset para ele. Para confirmar se existem dados nele, utilize o depurador em cima dessa nova instância que você está criando. Aqui está um exemplo que encontrei na net. Mas se você quer mesmo trabalhar desta forma, lhe aconselharia a utilizar o DataTable em vez do DataSet.

define a string de conexão com o banco de dados
Dim strConn As String = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & TextBox1.Text

[ô]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 Authors Where Au_ID < 20[Ô]

[ô]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 dsbiblio As New DataSet()

[ô]preenche o dataset
adaptador.Fill(dsbiblio, [Ô]Authors[Ô])

[ô]exibe os dados em um datagrid
DataGrid1.DataSource = dsbiblio


www.macoratti.net/vbn_dts1.htm




Grande Jaba!

Valeu Cara. Rsrs. Resolvido.

Fiz assim para o Banco de dados criado no MYSQL:

Dim conn As New MySqlConnection

conn = New MySqlConnection
conn.ConnectionString = [Ô]server=inserir o IP do servidor aqui;user id=inserir o usuário do servidor aqui;password=inserir a senha do banco de dados aqui;database=inserir o nome do banco de dados
aqui[Ô]

[ô]Cria o objeto DataAdapter
[ô]Nome da Tabela: cliente
Dim adaptador As New MySqlDataAdapter([Ô]Select * From cliente[Ô], conn)

[ô]Cria o objeto DataSet
Dim dsBD As New DataSet()

[ô]Preenche o dataset
adaptador.Fill(dsBD , [Ô]cliente[Ô])

[ô]As duas forma abaixo funcionaram.
[ô]Rows(1) - Indica a linha 1 da Tabela de cliente. Começa na linha [Ô]0[Ô].
[ô]Item(1) - Indica a coluna 1 da Tabela de cliente. Começa na coluna [Ô]0[Ô].
TextBox1.Text = dsBD .Tables(0).Rows(1).Item(1)
TextBox2.Text = dsBD .Tables([Ô]cliente[Ô]).Rows(0).Item(1)

Valeu pessoal!

Muito Obrigado.
Tópico encerrado , respostas não são mais permitidas