none
listar dados relacionados a determinado usuario RRS feed

  • Pergunta

  • Bom, o negocio e o seguinte gente, base de dados Mysql

    Tabelas:

    tbl_clientes: id, codigo, nome

    tbl_diario: id, nome, data, valor1, valor2

    suponha-se que na tabela tbl_clientes eu tenho 2 cadastros e na tbl_diario tenha 6 cadastros

    listei os nomes da tbl_clientes no combobox1

    agora gostaria de buscar na tbl_diario as dados referente ao cliente selecionado no combobox1.

    alguma dica ?


    Jcandido

    segunda-feira, 11 de fevereiro de 2013 15:47

Respostas


  • Ops malz, havia pensando que esse nome, na tabela tbl_diario era referente a outra coisa, mas se trando de ser o nome do cliente você pode fazer da sequinte forma; quando você for fazer o select você passa o campos tbl_diario.nome = cmb_Clientes.text, você disse que está utilizando mysql certo? Eu sempre utilizei PostGre, mas creio que não ira haver grande diferencia, então eu faria da sequinte maneira:
         Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim sConexao As String = "Server=localhost;Port=5432;UserId=postgres;Password='xxxxxx';Database=DataBaseName"
            Dim conn As Npgsql.NpgsqlConnection = Nothing

            Try
                'Instancia NpgsqlConnection na variavel conn
                conn = New Npgsql.NpgsqlConnection(sConexao)
                conn.Open()

                Dim SQL As String = _
                " SELECT * " & _
                "   FROM tbl_diario" & _
                "  WHERE tbl_diario.nome = '" & cmb_Clientes.text & "'" & _
                " Order By Id Desc "

                Dim da As Npgsql.NpgsqlDataAdapter = New Npgsql.NpgsqlDataAdapter(SQL, conn)
                Dim ds As DataSet = New DataSet()

                da.Fill(ds, "tbl_diario")
                DataGridView1.DataSource = ds.Tables("tbl_diario").DefaultView

            Catch ex As Exception
                MsgBox(ex.Message)

            Finally
                If Not conn Is Nothing Then
                    If conn.State = ConnectionState.Open Then
                        conn.Close()
                    End If
                End If
            End Try
        End Sub


    Como um grande homen disse: - Se não existe, Crie!

    • Marcado como Resposta Jcandido quinta-feira, 14 de fevereiro de 2013 01:18
    quarta-feira, 13 de fevereiro de 2013 21:20

Todas as Respostas

  • Você poderia criar um novo campo na tbl_diario, que seria o cod_cliente que quando você realizase o insert na tbl_diario, você passa o codigo que esta na tbl_clientes. Entao quando você for fazer o select, passe a condição cod_cliente = ao codigo que esta referenciado ao nome no combobox

    Como um grande homen disse: - Se não existe, Crie!

    quarta-feira, 13 de fevereiro de 2013 19:16
  • não sei se percebeu mas..

    tbl_clientes: id, codigo, nome

    tbl_diario: id, nome, data, valor1, valor2

    tanto o tbl_clientes como o tbl_diario contém o campo nome. que seria o mesmo que código


    Jcandido

    quarta-feira, 13 de fevereiro de 2013 19:30

  • Ops malz, havia pensando que esse nome, na tabela tbl_diario era referente a outra coisa, mas se trando de ser o nome do cliente você pode fazer da sequinte forma; quando você for fazer o select você passa o campos tbl_diario.nome = cmb_Clientes.text, você disse que está utilizando mysql certo? Eu sempre utilizei PostGre, mas creio que não ira haver grande diferencia, então eu faria da sequinte maneira:
         Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim sConexao As String = "Server=localhost;Port=5432;UserId=postgres;Password='xxxxxx';Database=DataBaseName"
            Dim conn As Npgsql.NpgsqlConnection = Nothing

            Try
                'Instancia NpgsqlConnection na variavel conn
                conn = New Npgsql.NpgsqlConnection(sConexao)
                conn.Open()

                Dim SQL As String = _
                " SELECT * " & _
                "   FROM tbl_diario" & _
                "  WHERE tbl_diario.nome = '" & cmb_Clientes.text & "'" & _
                " Order By Id Desc "

                Dim da As Npgsql.NpgsqlDataAdapter = New Npgsql.NpgsqlDataAdapter(SQL, conn)
                Dim ds As DataSet = New DataSet()

                da.Fill(ds, "tbl_diario")
                DataGridView1.DataSource = ds.Tables("tbl_diario").DefaultView

            Catch ex As Exception
                MsgBox(ex.Message)

            Finally
                If Not conn Is Nothing Then
                    If conn.State = ConnectionState.Open Then
                        conn.Close()
                    End If
                End If
            End Try
        End Sub


    Como um grande homen disse: - Se não existe, Crie!

    • Marcado como Resposta Jcandido quinta-feira, 14 de fevereiro de 2013 01:18
    quarta-feira, 13 de fevereiro de 2013 21:20
  • Lembrando que no exemplo eu utilizei, uma dll de conexao p/ postgresql no seu caso se tratando de MySQL, vc tera que trocar ela por uma equivalente

    Como um grande homem disse: - Se não existe, Crie!

    quarta-feira, 13 de fevereiro de 2013 21:51
  • Muito bom amigo, ajudou bastante.

    Jcandido

    quinta-feira, 14 de fevereiro de 2013 01:18