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

Chamuanza

SELECT baralhado

2 mensagens neste tópico

Oi Amigo Paulino

ainda em relação ao código que me enviaste

  ' Cria uma nova ligação à base de dados
        Dim connection As New SqlConnection(myConnectionString)


        Dim SQL As String = "SELECT Id,Data,Deposito [Depósito],Designacao [Designação],Categoria,SubCategoria,Familia FROM Principal Where Deposito > '0' And Data Between @DataInicio And @DataFim"
        da = New SqlDataAdapter(SQL, connection)

        da.SelectCommand.Parameters.Add("@DataInicio", SqlDbType.DateTime).Value = DateTimePicker1.Value

        da.SelectCommand.Parameters.Add("@DataFim", SqlDbType.DateTime).Value = DateTimePicker2.Value

        ' Cria um novo DataSet, ou seja, uma representação em memória da informação
        ds = New DataSet

        ' Coloca a informação da tabela definida no DataSet
        da.Fill(ds, "Principal")

        ' Define que a fonte de dados da DataGridView é a nossa DataSet
        ' criando automáticamente as colunas e linhas de dados
        Me.DataGridView2.DataSource = ds.Tables("Principal")


        ' Limpa a ligação à base de dados. Não é necessário fechar a ligação
        ' porque esta não foi aberta através do comando .Open()
        connection = Nothing

Verifico que ao fazer o select com a dataInicio igual a dataFim os registos que têm essa data não aparecem, da mesma maneira que ao fazer com datas diferentes os registos referentes a primeira data DataInicio tambem não aparecem

Acho isto estranho

Obrigado pela atenção

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quando criar um tópico não é para mim mas sim para toda a comunidade :thumbsup:

O "problema" é as datas têm minutos e isso conta. Se queres pesquisar uma data deves indicar o inicio e fim. Por exemplo se for hoje deve ser:

#5/6/2009 0:00:00# às #5/6/2009 23:59:59#

No vb podes aplicar desta forma:

        Dim dtInicio As New DateTime(Now.Year, Now.Month, Now.Day, 0, 0, 0)
        Dim dtFim As New DateTime(Now.Year, Now.Month, Now.Day, 23, 59, 59)

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