none
Filtrar dados em uma grid por um período de datas RRS feed

  • Pergunta

  • Boas... sou novo no mundo VB.Net e por sua em programação também.

    Tenho um form no vb.net onde tem 2 datepickers + 1 botão (pesquisar) + uma grid (para visualizar os dados de um Db SQL)

    O que eu pretendo que ao pressionar o botão "Pesquisar", na gris sejam exibidos os dados referentes ao período de data informado nos DatePickers

    O código que escrevi foi o seguinte: onde ''DateEdit '' é o componente datepiceker do DevExpress e "Helpdataset1" é o dataset e "ligacoes" é a tabela onde quero efetuar o filtro e "GridControl1" é o componente grid do Devexpress

    O problema que está ocorrendo é que quando insiro as datas datepicker (dateedit) e pressiono o botão "pesquisar" (SimpleButton1) , o sistema me mostra de imediato a mensagem de erro criada na Exception (    MessageBox.Show("Erro : " & "Alguma coisa errada, tenta de novo")) para o caso de algum erro ocorrer e por sua vez não efetua o filtro.

     

    Alguém me pode ajudar? e ver onde estou errando?

     

     Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click
            Dim dtinicio As String
            Dim dtfim As String
            Dim tabela As New DataTable
            Dim strsql As String
            Dim con As SqlConnection
            Dim cmd As SqlCommand

            dtinicio = DateEdit1.EditValue.ToString
            dtfim = DateEdit2.EditValue.ToString

            strsql = "Select * from ligacoes where dthora_ligacoes between @dtinicio and @dtfim order by id_ligacoes"

            Try

                con.ConnectionString = HelpDataDataSet1.Ligacoes.ToString

                con.Open()

                cmd.Connection = con
                cmd.Parameters.AddWithValue("@dtinicio ", dtinicio)
                cmd.Parameters.AddWithValue("@dtFim", dtfim)

                cmd.CommandText = strsql

                Using reader As SqlDataReader = cmd.ExecuteReader()
                    tabela.Load(reader)
                    GridControl1.DataSource = tabela
                End Using

            Catch ex As Exception

                MessageBox.Show("Erro : " & "Alguma coisa errada, tenta de novo")

            End Try
        End Sub
    End Class

    quarta-feira, 13 de dezembro de 2017 14:40

Respostas

  • A mensagem de erro é : Erro : Referência de objeto não definida para uma instância de um objeto

    Você precisa criar uma instância do objeto

    Dim con As SqlConnection 
    Dim cmd As SqlCommand

    Assim:

    Dim con As New SqlConnection()
    Dim cmd As New SqlCommand()


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer C#
    Development Leader at JAMSOFT Informática
    Microsoft Certified Professional
    Criador e Mantenedor do EntityFramework Core for Firebird
    Contribuidor do EntityFramework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter


    • Editado Rafael Almeida - MVPMVP quinta-feira, 14 de dezembro de 2017 16:26 formatação
    • Marcado como Resposta NelsonZyon quinta-feira, 14 de dezembro de 2017 16:35
    quinta-feira, 14 de dezembro de 2017 16:25
  • Rafael Almeida

    MUITO...MUITO...MUITO...obrigado...resolveu

    Terminei meu curso á pouco tempo...e são daquelas coisas que a experiência faz toda a diferença...ainda tenho muito para aprender...e estes fóruns são muito bons para isso...valeu parceiro...muito obrigado

    Show, Que bom!

    Fique a vontade em usar o fórum!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer C#
    Development Leader at JAMSOFT Informática
    Microsoft Certified Professional
    Criador e Mantenedor do EntityFramework Core for Firebird
    Contribuidor do EntityFramework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    • Marcado como Resposta NelsonZyon quinta-feira, 14 de dezembro de 2017 16:42
    quinta-feira, 14 de dezembro de 2017 16:40

Todas as Respostas

  • Olá Nelson bem vindo!

    Dê uma olhadinha nesse link:

    https://social.msdn.microsoft.com/Forums/pt-BR/0bbbcd10-4a97-4a29-92f6-645eb5a9abf5/pesquisar-entre-2-datas-duvida?forum=vsvbasicpt

    Se não conseguir retorne aqui, para que possamos te ajuda!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer C#
    Development Leader at JAMSOFT Informática
    Microsoft Certified Professional
    Criador e Mantenedor do EntityFramework Core for Firebird
    Contribuidor do EntityFramework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    quarta-feira, 13 de dezembro de 2017 22:46
  • Tentei dessa forma mas não resolveu....alguem me pode ajudar?

    quinta-feira, 14 de dezembro de 2017 15:19
  • A mensagem de erro é : Erro : Referência de objeto não definida para uma instância de um objeto

    quinta-feira, 14 de dezembro de 2017 16:18
  • A mensagem de erro é : Erro : Referência de objeto não definida para uma instância de um objeto

    Você precisa criar uma instância do objeto

    Dim con As SqlConnection 
    Dim cmd As SqlCommand

    Assim:

    Dim con As New SqlConnection()
    Dim cmd As New SqlCommand()


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer C#
    Development Leader at JAMSOFT Informática
    Microsoft Certified Professional
    Criador e Mantenedor do EntityFramework Core for Firebird
    Contribuidor do EntityFramework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter


    • Editado Rafael Almeida - MVPMVP quinta-feira, 14 de dezembro de 2017 16:26 formatação
    • Marcado como Resposta NelsonZyon quinta-feira, 14 de dezembro de 2017 16:35
    quinta-feira, 14 de dezembro de 2017 16:25
  • Rafael Almeida

    MUITO...MUITO...MUITO...obrigado...resolveu

    Terminei meu curso á pouco tempo...e são daquelas coisas que a experiência faz toda a diferença...ainda tenho muito para aprender...e estes fóruns são muito bons para isso...valeu parceiro...muito obrigado

    quinta-feira, 14 de dezembro de 2017 16:37
  • Rafael Almeida

    MUITO...MUITO...MUITO...obrigado...resolveu

    Terminei meu curso á pouco tempo...e são daquelas coisas que a experiência faz toda a diferença...ainda tenho muito para aprender...e estes fóruns são muito bons para isso...valeu parceiro...muito obrigado

    Show, Que bom!

    Fique a vontade em usar o fórum!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer C#
    Development Leader at JAMSOFT Informática
    Microsoft Certified Professional
    Criador e Mantenedor do EntityFramework Core for Firebird
    Contribuidor do EntityFramework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    • Marcado como Resposta NelsonZyon quinta-feira, 14 de dezembro de 2017 16:42
    quinta-feira, 14 de dezembro de 2017 16:40