PREENCHER DATAGRIDVIEW
Olá pessoal, estou tentando preencher um DATAGRIDVIEW, só que não estou conseguindo fazé-lo. Se alguém puder dar uma olhada neste código e verificar o q estou fazendo de errado, ficarei grato.
Private Sub Lista_Dados_Associados()
Dim Conn As New MySqlConnection(StrAssoc)
Dim Cmd As New MySqlCommand(ValAssoc, Conn)
Dim NewDt As New DataTable
Try
Dim Newdr As MySqlDataReader
Conn.Open()
Newdr = Cmd.ExecuteReader()
GridView_Assoc.ClearSelection()
If Newdr.HasRows = True Then
While Newdr.Read
NewDt.Columns.Add(Newdr.Item([Ô]matricula_associado[Ô]).ToString)
NewDt.Columns.Add(Newdr.Item([Ô]nome_razao_social[Ô]).ToString)
NewDt.Columns.Add(Newdr.Item([Ô]id_tipo_categoria_associado[Ô]).ToString)
End While
End If
GridView_Assoc.DataSource = NewDt
Newdr.Close()
Catch ex As MySqlException
MessageBox.Show([Ô]Failed to populate database list: [Ô] + ex.Message)
Finally
[ô]If Not dr Is Nothing Then dr.Close()
End Try
End Sub
Bem o que está acontençendo, quando o programa passa pela 1ª vez, ele atualiza a variável NewDt.Columns perfeitamenente, mas quando vai passar novamente, dá-se o erro:
A column named [ô]CONTRIBUINTE - TITULAR[ô] already belongs to this DataTable.
Como posso retirar este erro???
Obrigado,
Private Sub Lista_Dados_Associados()
Dim Conn As New MySqlConnection(StrAssoc)
Dim Cmd As New MySqlCommand(ValAssoc, Conn)
Dim NewDt As New DataTable
Try
Dim Newdr As MySqlDataReader
Conn.Open()
Newdr = Cmd.ExecuteReader()
GridView_Assoc.ClearSelection()
If Newdr.HasRows = True Then
While Newdr.Read
NewDt.Columns.Add(Newdr.Item([Ô]matricula_associado[Ô]).ToString)
NewDt.Columns.Add(Newdr.Item([Ô]nome_razao_social[Ô]).ToString)
NewDt.Columns.Add(Newdr.Item([Ô]id_tipo_categoria_associado[Ô]).ToString)
End While
End If
GridView_Assoc.DataSource = NewDt
Newdr.Close()
Catch ex As MySqlException
MessageBox.Show([Ô]Failed to populate database list: [Ô] + ex.Message)
Finally
[ô]If Not dr Is Nothing Then dr.Close()
End Try
End Sub
Bem o que está acontençendo, quando o programa passa pela 1ª vez, ele atualiza a variável NewDt.Columns perfeitamenente, mas quando vai passar novamente, dá-se o erro:
A column named [ô]CONTRIBUINTE - TITULAR[ô] already belongs to this DataTable.
Como posso retirar este erro???
Obrigado,
Tenta desse modo
Dim Conn As New MySqlConnection
Dim Cmd As New MySqlCommand
Dim NewDt As New DataTable
Dim da As New MySqlDataAdapter
Try
Conn.Open()
da = New MySqlDataAdapter([Ô]Select Sua_Tabela[Ô], Conn)
da.Fill(NewDt)
With Seu_Datagridview
.DataSource = NewDt
End With
Conn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
End Try
e depois posta algo
Dim Conn As New MySqlConnection
Dim Cmd As New MySqlCommand
Dim NewDt As New DataTable
Dim da As New MySqlDataAdapter
Try
Conn.Open()
da = New MySqlDataAdapter([Ô]Select Sua_Tabela[Ô], Conn)
da.Fill(NewDt)
With Seu_Datagridview
.DataSource = NewDt
End With
Conn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
End Try
e depois posta algo
ADHEL - obrigado por ter respondido, tentei a sua sugestão mais tb não deu certo
Posta o erro por favor
ADHEL - O erro começa na abertura do banco de dados
ACESS DENIED FOR USER [Ô]@[Ô]LOCALHOST[ô] (USING PASSWORD: NO)
mas consegui contornar.
Só que não apareçe nada no grid.
Olha com o código ficou:
Private Sub Lista_Dados_Associados()
StrAssoc = [Ô]Server=[Ô] & Servidor & [Ô];User id=[Ô] & Usuarios & [Ô];password=[Ô] & Senhas & [Ô];database=[Ô] & Bancos & [Ô];[Ô]
ValAssoc = [Ô]SELECT * FROM associados[Ô]
Dim Conn As New MySqlConnection(StrAssoc)
Dim Cmd As New MySqlCommand(ValAssoc, Conn)
Dim NewDt As New DataTable
Dim da As New MySqlDataAdapter
Try
Conn.Open()
da = New MySqlDataAdapter(Cmd)
da.Fill(NewDt)
With GridView_Assoc
.DataSource = NewDt
End With
Conn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
End Try
End Sub
Bem, quero que no meu grid, apareça alguns itens, como código e nome e nã a tabela toda, como faço para apareçer somente o que quero??
Obrigado
ACESS DENIED FOR USER [Ô]@[Ô]LOCALHOST[ô] (USING PASSWORD: NO)
mas consegui contornar.
Só que não apareçe nada no grid.
Olha com o código ficou:
Private Sub Lista_Dados_Associados()
StrAssoc = [Ô]Server=[Ô] & Servidor & [Ô];User id=[Ô] & Usuarios & [Ô];password=[Ô] & Senhas & [Ô];database=[Ô] & Bancos & [Ô];[Ô]
ValAssoc = [Ô]SELECT * FROM associados[Ô]
Dim Conn As New MySqlConnection(StrAssoc)
Dim Cmd As New MySqlCommand(ValAssoc, Conn)
Dim NewDt As New DataTable
Dim da As New MySqlDataAdapter
Try
Conn.Open()
da = New MySqlDataAdapter(Cmd)
da.Fill(NewDt)
With GridView_Assoc
.DataSource = NewDt
End With
Conn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
End Try
End Sub
Bem, quero que no meu grid, apareça alguns itens, como código e nome e nã a tabela toda, como faço para apareçer somente o que quero??
Obrigado
tenta assim
StrAssoc = [Ô]Server=[Ô] & Servidor & [Ô];User id=[Ô] & Usuarios & [Ô];password=[Ô] & Senhas & [Ô];database=[Ô] & Bancos & [Ô];[Ô]
ValAssoc = [Ô]SELECT * FROM associados[Ô]
Dim Conn As New MySqlConnection(StrAssoc)
Dim NewDt As New DataTable
Dim da As New MySqlDataAdapter
Try
Conn.Open()
da = New MySqlDataAdapter(ValAssoc, Conn)
da.Fill(NewDt)
With GridView_Assoc
.DataSource = NewDt
End With
Conn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
End Try
End Sub
ou
StrAssoc = [Ô]Server=[Ô] & Servidor & [Ô];User id=[Ô] & Usuarios & [Ô];password=[Ô] & Senhas & [Ô];database=[Ô] & Bancos & [Ô];[Ô]
Dim Conn As New MySqlConnection(StrAssoc)
Dim NewDt As New DataTable
Dim da As New MySqlDataAdapter
Try
Conn.Open()
da = New MySqlDataAdapter(SELECT * FROM associados, Conn)
da.Fill(NewDt)
With GridView_Assoc
.DataSource = NewDt
End With
Conn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
End Try
End Sub
StrAssoc = [Ô]Server=[Ô] & Servidor & [Ô];User id=[Ô] & Usuarios & [Ô];password=[Ô] & Senhas & [Ô];database=[Ô] & Bancos & [Ô];[Ô]
ValAssoc = [Ô]SELECT * FROM associados[Ô]
Dim Conn As New MySqlConnection(StrAssoc)
Dim NewDt As New DataTable
Dim da As New MySqlDataAdapter
Try
Conn.Open()
da = New MySqlDataAdapter(ValAssoc, Conn)
da.Fill(NewDt)
With GridView_Assoc
.DataSource = NewDt
End With
Conn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
End Try
End Sub
ou
StrAssoc = [Ô]Server=[Ô] & Servidor & [Ô];User id=[Ô] & Usuarios & [Ô];password=[Ô] & Senhas & [Ô];database=[Ô] & Bancos & [Ô];[Ô]
Dim Conn As New MySqlConnection(StrAssoc)
Dim NewDt As New DataTable
Dim da As New MySqlDataAdapter
Try
Conn.Open()
da = New MySqlDataAdapter(SELECT * FROM associados, Conn)
da.Fill(NewDt)
With GridView_Assoc
.DataSource = NewDt
End With
Conn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
End Try
End Sub
ADHEL até a abertura do banco de dados perfeito, só que o sistema não está alimentando o GRID com as informações do banco de dados. Como faço para que o grid seja alimentado pelo o banco de dados que tenho.
Obrigado,
Obrigado,
esse comando aà em cima ja deveria popular o grid.
Tem como voce zipar esse projeto e enviar para dar uma olhada junto com o banco?
Tem como voce zipar esse projeto e enviar para dar uma olhada junto com o banco?
ADHEL - Dê uma olhada nisto - vc terá que fazer algumas alterações na abertura do banco de dados
Quando vou descompactar da erro
Você colocou alguma rotina no evento SelectionChange do grid?
Se colocou retire e teste.
Abraço
Se colocou retire e teste.
Abraço
Tópico encerrado , respostas não são mais permitidas