Ir para conteúdo
Fórum Script Brasil
  • 0

Datagridview


mestre fyoda

Pergunta

Posts Recomendados

  • 0

Exatamente como eu falei:

DataGridView1.DataSource = tabela

Onde "tabela" é uma DataTable. Em algum lugar do seu código você deve estar populando um DataSet ou uma DataTable através de um DataAdapter. Como você faz para abrir uma tabela?

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Public Module Módulo
    Public MySQLConn As MySql.Data.MySqlClient.MySqlConnection

    Public Function InicializaConexão() As Boolean
        MySQLConn = New MySql.Data.MySqlClient.MySqlConnection("Server=localhost;Database=v2interativa;Uid=root;Pwd=rafael")
        Try
            MySQLConn.Open()
            Return True
        Catch erro As Exception
            MessageBox.Show("Ocorreu um erro ao inicializar a conexão: " & erro.ToString())
            Return False
        End Try
    End Function

    Public Function ExecutarSQL(Byval query As String) As MySql.Data.MySqlClient.MySqlDataReader
        Dim MySQLCmd As New MySql.Data.MySqlClient.MySqlCommand(query, MySQLConn)

        Return MySQLCmd.ExecuteReader()
    End Function
End Module


Com o módulo acima, o seu exemplo de utilização ficaria da seguinte maneira:

'conexao mysql
Public Class Form1
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If InicializaConexão() Then
            Dim MySQLDrr As MySql.Data.MySqlClient.MySqlDataReader = ExecutarSQL("SELECT * FROM AQCAD")

            If MySQLDrr.HasRows = True Then
                While MySQLDrr.Read
                    Dim codigo As String = MySQLDrr.Item(1)
                    Dim ls As New ListViewItem(codigo, 0)

                    ls.SubItems.Add(MySQLDrr.Item(0).ToString)

                    ListView1.Items.Add(ls)
                End While
            End If
        End If
        MySQLDrr.Close()
    End Sub
End Class

minha conexao é assim !

Link para o comentário
Compartilhar em outros sites

  • 0

No caso aí você está usando apenas um DataReader, que serve para uma leitura rápida de dados. Um DataReader não serve para guardar os dados em memória como se fosse uma tabela. Para isso você tem que usar um DataSet ou uma DataTable. E para popular estas você precisa de um DataAdapter. Dê uma olhada no exemplo abaixo:

http://scriptbrasil.com.br/forum/index.php?showtopic=63194

Certo? ;)

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
MySQLDrr.fill(DataSet)

não funciona porque o Fill não é reconhecido pelo vb.net .

o Item também não esta funcionando!

Preste atenção no código... você não o está lendo direito... no seu caso MySQLDrr é um MySqlDataReader e no caso do código lá, é usado um MySqlDataAdapter.

Aconselho a você dar uma lida sobre como funciona o ADO.NET, porque o que estou vendo é uma falta de conceitos fundamentais.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
funcionou :)

mas como eu faço para povoar sem que pegue toda a tabela e insira no datagridview?

Como assim? :unsure: Ele só vai pegar o que você especificar na SQL, ou seja, o resultado da consulta. Se você quer apenas alguns registros, de acordo com uma condição, use a cláusula WHERE para filtrá-los.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Dim DataView As New MySql.Data.MySqlClient.MySqlDataAdapter("select * from AQCAD", MySQLConn)
            Dim DS As DataSet = New DataSet
            DataView.Fill(DS)
            'dgr_datagridview.DataSource = DS.Tables(0).Columns("Codigo")
            Dim dr As DataRelation

            Dim dc1 As DataColumn

            Dim dc2 As DataColumn

            dc1 = DS.Tables(0).Columns("Codigo")

            dc2 = DS.Tables(0).Columns("Nome do Cliente")

não esta inserindo nada nos 2 campos ! porque ?

Link para o comentário
Compartilhar em outros sites

  • 0

O que você quer fazer? Alterar os textos de cabeçalho dos campos na DataGridView? Porque isso aí que você fez não tem nada a ver com a DataGridView. Você deveria fazer algo assim:

DataGridView1.Columns(0).HeaderText = "Código:"
DataGridView1.Columns(1).HeaderText = "Nome:"

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
não é isso Graymalkin, na figura baixo , eu queria inserir dentro do retangulo vermelho os dados do bd, como eu faço ?

http://img215.imageshack.us/my.php?image=imagemxi7.jpg

Ué? Isso é o que acontece quando se faz...

DataGridView1.DataSource = DS.Tables(0)

... não? :blink:

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
DataGridView1.DataSource = DS.Tables(0)
quando eu insiro esse comando ele pega todo o banco de dados e coloca no grid, mas não é isso que eu quero, eu quero que ele insira apenaS o codigo e nome !
Requisite apenas o código e o nome, oras:
SELECT Código, Nome FROM AQCAD;

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
hehehehe eu pensei que era algo mais simples :) algo do tipo que você so inserice os resultados do registros sem vir os nomes dos campos do bd na coluna !

Sim, tem como também. Só que é bem mais simples somente mudar os títulos das colunas ao invés de criar coluna por coluna.

Existe como autodimencionar essa HeaderText ?

Sim, veja a propriedade AutoSizeColumns.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...