• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Luis Marques

Procurar encomenda atraves da data

6 mensagens neste tópico

boas, pessoal fiz um select para ir ver as encomendas atraves de uma data, mas esta a darme problema, e nao sei do que será.

É assim se eu fizer uma pesquisa colocando uma data do mês março ou maio tudo bem, as encomendas referentes a estes a data colocada, aparece, agora se colocar uma data no mês de abril já não mostra as encomendas.

Alguem sabe do que será?

Deixo aqui o código que estou a usar...

DataGridView1.Visible = True

        Dim db As New OleDbConnection(pap.My.Settings.ligacaoBD)

        ' LIGAR A BD

        db.Open()

        ' ACESSO AOS DADOS

        Dim comandosql = "Select id_encomenda, id_cliente, data,descricao,responsavel_pd,total from encomenda where data = #" + DataDateTimePicker.Value & "#"

        Dim cmd As New OleDbCommand(comandosql, db)

        Dim dtr As OleDbDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)

        ' CRIAÇÃO DE COLUNAS NO DATAGRIDVIEW

        Dim num_campos As Integer

        Dim campo As String

        DataGridView1.Columns.Clear()

        num_campos = dtr.FieldCount

        For idx = 0 To num_campos - 1

            campo = dtr.GetName(idx)

            DataGridView1.Columns.Add(campo, campo)

        Next

        ' CARREGAR OS DADOS

        Dim idx_linha As Integer

        idx_linha = 0

        While dtr.Read()

            Dim linha As New DataGridViewRow()

            DataGridView1.Rows.Add(linha)

            DataGridView1.Rows(idx_linha).Cells(0).Value = dtr.Item(0)

            DataGridView1.Rows(idx_linha).Cells(1).Value = RTrim(dtr.Item(1))

            DataGridView1.Rows(idx_linha).Cells(2).Value = RTrim(dtr.Item(2))

            DataGridView1.Rows(idx_linha).Cells(3).Value = RTrim(dtr.Item(3))

            DataGridView1.Rows(idx_linha).Cells(4).Value = RTrim(dtr.Item(4))

            DataGridView1.Rows(idx_linha).Cells(5).Value = RTrim(dtr.Item(5))

            idx_linha = idx_linha + 1

        End While

        ' AJUSTE DAS COLUNAS DO DATAGRIDVIEW

        DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells

        ' FECHAR A BD

        dtr.Close()

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já verificaste se tens dados para Abril e se os dados estão válidos?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pode não ser, mas não é a primeira vez que pequenos erros como este lixam-nos horas e  :wallbash:

Tens assim:

        ' ACESSO AOS DADOS

        Dim comandosql = "Select id_encomenda, id_cliente, data,descricao,responsavel_pd,total from encomenda where data = #" + DataDateTimePicker.Value & "#"

Substitui por:

 ' ACESSO AOS DADOS
        Dim comandosql = "Select id_encomenda, id_cliente, data,descricao,responsavel_pd,total from encomenda where data = #" & DataDateTimePicker.Value & "#"

A diferença está no caracter antes de DataDateTimePicker.Value, quando se usa o & fazemos concatenação, quando usamos o + somamos, no caso de string também faz concatenação DataDateTimePicker.Value não é uma string é uma data, string seria:DataDateTimePicker.Value.ToString (nesse caso podes usar na mesma o +)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu ja te disse qual e o problema...tens que formatar a data do lado da query ( string sql - numa instrução entendida pelo SQL) e fazeres o mesmo do lado onde apanhas a data no VB. Só assim vais resolver o problema!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora