PREENCHER DATAGRIDVIEW COM DADOS DO BD?

SERGIO 24/09/2009 02:13:46
#323553
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
  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
RICART 24/09/2009 07:58:35
#323556
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
SERGIO 28/09/2009 17:43:46
#323882
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
    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()

SERGIO 19/12/2009 14:23:03
#330076
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 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()


?alguém
SERGIO 19/12/2009 18:11:03
#330083
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
JWCELYO 19/12/2009 20:43:26
#330087
Função para carregar grind com varias opções em usa função
   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[Ô]) 


JWCELYO 19/12/2009 20:47:17
#330088
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