Return list by a specific date

4

Following a project I'm developing, I've had a situation I can not solve.

The purpose of this question is to know how to get on a given day the number of requests a school library makes. So far so good, this problem is solved.

Now, I came up with a new idea but it is difficult to solve and is this: I wanted to do the same thing with the above, but through datetimepicker choose the day and appear through a base search of data to know the requests of that day.

Below I will leave prints of the code I have at the moment and the respective forms.

This is select used for now:

SELECT Requisição.codRequisicao,
       Requisição.dataRequisicao,
       Utilizadores.numProcesso,
       Utilizadores.nomeUtilizador,
       Turma.Ano,
       Turma.Turma,
       Turma.Curso,
       TpUtilizador.Descricao,
       TipoServiço.descricaoTpServico
FROM Requisição
INNER JOIN TipoServiço ON Requisição.codTpServico = TipoServiço.codTpServico
INNER JOIN Utilizadores ON Requisição.numProcesso = Utilizadores.numProcesso
INNER JOIN Turma ON Utilizadores.codTurma = Turma.codTurma
INNER JOIN TpUtilizador ON Utilizadores.CodUtilizador = TpUtilizador.CodUtilizador
WHERE (Requisição.dataRequisicao >= CONVERT(date, GETDATE()))

For example, on 06/26/2015 a certain person made a request:

Thisiswheretherequisitionsareregistered:

    
asked by anonymous 26.06.2015 / 18:12

1 answer

1

In your SELECT there will be a problem that is >= when you are looking for dates prior to today, for example if you want yesterday it will appear yesterday and today because it is greater or equal >.

To resolve this from >= , just compare same by deleting the hours, eg:

WHERE CONVERT(date, Requisição.dataRequisicao) = CONVERT(date, GETDATE()))

Getting

SELECT Requisição.codRequisicao,
       Requisição.dataRequisicao,
       Utilizadores.numProcesso,
       Utilizadores.nomeUtilizador,
       Turma.Ano,
       Turma.Turma,
       Turma.Curso,
       TpUtilizador.Descricao,
       TipoServiço.descricaoTpServico
FROM Requisição
INNER JOIN TipoServiço ON Requisição.codTpServico = TipoServiço.codTpServico
INNER JOIN Utilizadores ON Requisição.numProcesso = Utilizadores.numProcesso
INNER JOIN Turma ON Utilizadores.codTurma = Turma.codTurma
INNER JOIN TpUtilizador ON Utilizadores.CodUtilizador = TpUtilizador.CodUtilizador
WHERE CONVERT(date, Requisição.dataRequisicao) = CONVERT(date, GETDATE()))

And in your case with DateTimePicker , I believe you can do something like this:

Dim strSQL As String = "SELECT... " + 
                       "WHERE CONVERT(date, Requisição.dataRequisicao) = @dataEscolhida "
Using con = new SqlConnection("datasource...")
    con.Open()
    Using cmd = new SqlCommand(strSQL, con)
        cmd.Parameters.AddWithValue("@dataEscolhida", DateTimePicker1.Value)

        ' executeReader
    End Using
End Using
    
26.06.2015 / 18:27