none
Problemas com DATETIME no GRIDVIEW RRS feed

  • Pergunta

  • bom dia a todos...

    estou com um problema, e gostaria de saber qual a melhor opção para resolver!

    tenho um select que traz algumas informações do banco pra mim, e entre elas uma data, só que no retorno do banco a data está vindo assim:

    2010-06-01 00:00:00.000

    e preciso que ela retorne do banco assim:

    01-06-2010

    no formato DD/MM/YYYY e sem a hora... como faço pra retornar com está mascara??? 

    o select que retorna o resultado é este:

    SELECT poe.oe 'Número OE', oe.prazo_ini 'Início', oe.prazo_fim 'Fim', SUM(poe.horas) 'Horas Estimadas', ISNULL (SUM(h.htrab),0) 'Horas Consumidas'

    FROM perfis_oes poe JOIN oes oe ON (poe.contrato = oe.contrato AND poe.oe = oe.numero) LEFT JOIN horas h ON (poe.contrato = h.contrato AND poe.oe = h.oe AND poe.perf_tec = h.perf_tec)

    WHERE poe.contrato = 1 
    GROUP BY poe.oe, oe.prazo_ini, oe.prazo_fim
    ORDER BY poe.oe

    tem alguma maneira tb de alterar a estrutura do banco para cadastrar somente a data sem os segundos, pois no SQLSERVER 2005 nao achei nenhuma outra opção de data sem ser DATETIME... ou seria melhor converter via método na hora de exibir a data no GridView???

    Abraços

    segunda-feira, 13 de fevereiro de 2012 12:00

Respostas

  • No seu select use isso

    SELECT CONVERT(varchar,getdate(),103)

    Caso a resposta seja útil ou responda sua questão, colabore marcando-a como resposta ou como útil.

    • Sugerido como Resposta RobsonGmack segunda-feira, 13 de fevereiro de 2012 19:11
    • Marcado como Resposta Eder CostaModerator quarta-feira, 14 de março de 2012 13:29
    segunda-feira, 13 de fevereiro de 2012 19:02

Todas as Respostas

  • nas propriedades da coluna data insira esta DataFormatString {0: dd-MM-yyyy}

    Caso a resposta seja útil ou responda sua questão, colabore marcando-a como resposta ou como útil.

    segunda-feira, 13 de fevereiro de 2012 12:50
  • nas propriedades da coluna data insira esta DataFormatString {0: dd-MM-yyyy}

    Caso a resposta seja útil ou responda sua questão, colabore marcando-a como resposta ou como útil.

    pow cara, foi de grande utilidade essa sua dica, mas no meu caso, eu nao utilizarei datasource, vou fazer tudo via métodos mesmo, vou fazer via sqlDataReader... então, acho que deveria já tratar essa data no select, pra na hora de montar o tabela nao da problema nos dados entre o q vem do select e o que fica na tabela, tipo este  

    colIni.DataType = Type.GetType("System.Date");

     colIni.ColumnName = "Prazo Inicial";

    o tipo de dado é System.Date e acho que ele não tá aceitando vir do banco a data neste formato: 2010-06-01 00:00:00.000

    segunda-feira, 13 de fevereiro de 2012 16:11
  • Que tipo de objeto é esse colIni ? Verifique se não existem colIni.DataFormatString...

    Se não der certo, quando você for setar o value do colIni, tente fazer ((DateTime)obj).ToString("dd/MM/yyyy")


    Ao infinito e além!

    segunda-feira, 13 de fevereiro de 2012 17:03
  • Que tipo de objeto é esse colIni ? Verifique se não existem colIni.DataFormatString...

    Se não der certo, quando você for setar o value do colIni, tente fazer ((DateTime)obj).ToString("dd/MM/yyyy")


    Ao infinito e além!

    cara, era pra ser do tipo data, mas ja fiz a conversao pra string mesmo, eu só nao keria fazer isto, ter q converter a data pra string, eu keria pegar a data e converter para data mesmo, mas trazendo somente dd/mm/yyyy... e nao ter q converter a data para string para ficar deste jeito...
    segunda-feira, 13 de fevereiro de 2012 17:41
  • No seu select use isso

    SELECT CONVERT(varchar,getdate(),103)

    Caso a resposta seja útil ou responda sua questão, colabore marcando-a como resposta ou como útil.

    • Sugerido como Resposta RobsonGmack segunda-feira, 13 de fevereiro de 2012 19:11
    • Marcado como Resposta Eder CostaModerator quarta-feira, 14 de março de 2012 13:29
    segunda-feira, 13 de fevereiro de 2012 19:02