PREENCHER DATAGRIDVIEW COM DADOS DO BD?
Pessoal não estou conseguindo pega os dados de um tabela e coloca no datagriview, são só 3 campos da tabela ,uso o mysql
codigo para carregar o dataview
Public Class Form1
Private myCON As MySql.Data.MySqlClient.MySqlConnection
Private myCMD As MySql.Data.MySqlClient.MySqlCommand
Private myDRR As MySql.Data.MySqlClient.MySqlDataReader
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
myCON = New MySql.Data.MySqlClient.MySqlConnection([Ô]server=localhost;user=root;password=123;Port=3306;database=teste[Ô])
myCON.Open()
CarregaDataGridView()
Catch ex As Exception
MsgBox([Ô]Erro ao tentar conectar ao bd[Ô] & ex.Message, MsgBoxStyle.Critical)
myCON.Close()
End Try
codigo para carregar o dataview
myCMD = New MySql.Data.MySqlClient.MySqlCommand([Ô]Select * From Usuario[Ô], myCON)
DataGridView1.DataSource = myCMD
myDRR = myCMD.ExecuteReader
Vc não pode simplemente passar um DataReader como fonte de dados.
Vc precissa carregar o datareader e depois utilizar uma leitura sequencial, passando as colunas e as linhas uma a uma.
Se vc criar um datatable, vc pode passar esta diretamente como fonte de dados para o datagridview.
Veja este exemplo em firebird, que vc pode adaptar para o mysql.
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=8145
Vc precissa carregar o datareader e depois utilizar uma leitura sequencial, passando as colunas e as linhas uma a uma.
Se vc criar um datatable, vc pode passar esta diretamente como fonte de dados para o datagridview.
Veja este exemplo em firebird, que vc pode adaptar para o mysql.
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=8145
Bom consegui carrega o datagrid mais os dados vem em uma ordem errada como faço para ficar assim:
ID|NOME|ENDERECO
aqui está o código ,é um exemplo que tem aqui no vbmania msm só que ao inves do listbox tentei com datagrid
ID|NOME|ENDERECO
aqui está o código ,é um exemplo que tem aqui no vbmania msm só que ao inves do listbox tentei com datagrid
myCMD = New MySql.Data.MySqlClient.MySqlCommand([Ô]Select * from Usuario[Ô], myCON)
myDRR = myCMD.ExecuteReader
Dim dt As New DataTable
If myDRR.HasRows = True Then
While myDRR.Read
dt.Columns.Add(myDRR.Item([Ô]ID[Ô]).ToString)
dt.Columns.Add(myDRR.Item([Ô]Nome[Ô]).ToString)
dt.Columns.Add(myDRR.Item([Ô]Endereco[Ô]).ToString)
End While
End If
DataGridView1.DataSource = dt
myDRR.Close()
myCMD.Dispose()
Citação:SERGIO escreveu:
Bom consegui carrega o datagrid mais os dados vem em uma ordem errada como faço para ficar assim:
ID|NOME|ENDERECO
aqui está o código ,é um exemplo que tem aqui no vbmania msm só que ao inves do listbox tentei com datagridmyCMD = New MySql.Data.MySqlClient.MySqlCommand([Ô]Select * from Usuario[Ô], myCON)
myDRR = myCMD.ExecuteReader
Dim dt As New DataTable
If myDRR.HasRows = True Then
While myDRR.Read
dt.Columns.Add(myDRR.Item([Ô]ID[Ô]).ToString)
dt.Columns.Add(myDRR.Item([Ô]Nome[Ô]).ToString)
dt.Columns.Add(myDRR.Item([Ô]Endereco[Ô]).ToString)
End While
End If
DataGridView1.DataSource = dt
myDRR.Close()
myCMD.Dispose()
?alguém
Bom já consegui se alguém tiver este mesmo problema fiz dessa seguinte forma
MyCon = New MySql.Data.MySqlClient.MySqlConnection([Ô]server= localhost; user id= root; password= 123; database=cadastro[Ô])
MyCon.Open()
MyCMD = New MySql.Data.MySqlClient.MySqlCommand([Ô]select * from usuario[Ô], MyCon)
Dim adapter As MySql.Data.MySqlClient.MySqlDataAdapter
Dim table As DataTable
adapter = New MySql.Data.MySqlClient.MySqlDataAdapter(MyCMD)
table = New DataTable
adapter.Fill(table)
MyDRR = MyCMD.ExecuteReader
DataGridView1.DataSource = table
Função para carregar grind com varias opções em usa função
PARA UTILIZA-LA EM DAGRIDVIEW OU EM UM COMBOX UTILIZE OS SEGUINTES MEIOS
[txt-color=#006400]este método carrega todos itens da tabela cliente do banco de dados com opção de filtro[/txt-color]
Public Function GetDataTable(ByVal Tabela As String, ByVal nome As String) As DataTable
Dim Table As New DataTable
Dim ds As New DataSet
Dim adptr As New OdbcDataAdapter([Ô]select * from [Ô] & Tabela & [Ô] where Nome LIKE [ô][Ô] & nome & [Ô]%[ô][Ô], CON)
adptr.Fill(ds, Tabela)
Table = ds.Tables(0)
Return Table
End Function
PARA UTILIZA-LA EM DAGRIDVIEW OU EM UM COMBOX UTILIZE OS SEGUINTES MEIOS
[txt-color=#006400]este método carrega todos itens da tabela cliente do banco de dados com opção de filtro[/txt-color]
dataGridView1.DataSource = GetDataTable([Ô]clientes[Ô], [Ô]aqui filtra por letra, caso aqui fique vazio todos os itens serram carregados no datagridview[Ô])
função implacável para conexão com mysql
Public Function CON() As Odbc.OdbcConnection
Dim conn As New Odbc.OdbcConnection([Ô]Driver=MySQL ODBC 5.1 Driver; DATABASE=[Ô] & My.Settings.DB & [Ô]; SERVER=[Ô] & My.Settings.Servidor & [Ô]; UID=[Ô] & My.Settings.Usuario & [Ô]; PASSWORD=[Ô] & My.Settings.Pass & [Ô][Ô])
Try
If conn.State = ConnectionState.Closed Then conn.Open()
Catch ex As Odbc.OdbcException
MsgBox(ex.Message)
End If
End Try
Return conn
End Function
Tópico encerrado , respostas não são mais permitidas