PREENCHER DATAGRIDVIEW

ELMO01 28/03/2011 11:26:54
#369427
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,
ADHEL 28/03/2011 12:40:41
#369440
Resposta escolhida
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
ELMO01 28/03/2011 13:14:50
#369447
ADHEL - obrigado por ter respondido, tentei a sua sugestão mais tb não deu certo
ADHEL 28/03/2011 13:28:02
#369451
Posta o erro por favor
ELMO01 28/03/2011 13:52:56
#369465
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
ADHEL 28/03/2011 14:07:47
#369467
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






ELMO01 28/03/2011 15:00:14
#369486
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,
ADHEL 28/03/2011 15:16:19
#369495
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?
ELMO01 28/03/2011 15:35:50
#369505
ADHEL - Dê uma olhada nisto - vc terá que fazer algumas alterações na abertura do banco de dados
ADHEL 28/03/2011 16:25:11
#369512
Quando vou descompactar da erro
MITSUEDA 28/03/2011 16:36:01
#369515
Você colocou alguma rotina no evento SelectionChange do grid?

Se colocou retire e teste.

Abraço
Página 1 de 2 [15 registro(s)]
Tópico encerrado , respostas não são mais permitidas