Jump to content

Recommended Posts

Posted

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()

LM

Posted

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 +)

Ricardo Timóteo

Posted

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!

Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.