none
conversao de datas RRS feed

  • Pergunta

  • Amigos Bom Dia

    tenho um duvida , em eu textbox tenho a data 30/04/2012, quando faço um insert e consulto na tabela recebo 04/30/2012.

    estou convertendo no select para dd/mm/yyyy

    SELECT idclientes, nome, foneresidencial, fonecomercial, fonecelular, convert(datetime,datanascimento, 103) datanascimento, tipodocumento, numerodocumento, status, datacadastro, logradouro, bairro, cidade, uf, cep, email, tipo from clientes

    mas mesmo assim estou recebendo 04/30/2012.

    Quando faço o mesmo select no management studio recebo o seguinte 1976-30-04 00:00:00.000

    Eu so queria voltar para o meu textbox o valor 30/04/2012

    estou utilizando c# e sqlexpress2008

    Obrigado

    quarta-feira, 11 de julho de 2012 06:46

Respostas

  • Dicas:

    1 - Aplique a Culture do seu app para PT-br.

    2 - Receba da forma que vier do banco e sempre trate em uma função que lhe retorna no formato desejado. (Trabalho uma vez só)


    É possível sim! Ponha isso na sua cabeça. É possível. "Steve Jobs"

    Eduardo Pires
    www.eduardopires.net.br

           


    quarta-feira, 11 de julho de 2012 12:26
  • Cara é só colocar isso no web.config   <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="pt-br"  />

    Abraço!

    quarta-feira, 11 de julho de 2012 15:51

Todas as Respostas

  • Bom dia,

    Antes de fazer o select tenta enviar o formato da data para o sql:

    set dateformat dmy

    quarta-feira, 11 de julho de 2012 08:39
  • Boas,

    Sim, se não forçares sempre o formato ele devolve-te a partida M/D/Y

    Experimenta desta maneira que resulta sempre:

    Primeiro convertes o valor que esta na tua textbox para datetime:

       DateTime data = Convert.ToDateTime(textBox1.Text);

    Agora na query forças que ele grave do tipo Y/M/D:

     string query = "INSERT INTO Data(data) VALUES('"+data.Year+"/"+data.Month+"/"+data.Day+"')";

    Agora sempre que consultares a data à base de dados ele devolve-te como querias: 30/04/2012.

    É um bocado martelado, porém resulta...

    quarta-feira, 11 de julho de 2012 10:12
  • No Parameter do SqlCommando, coloque SqlDbType.DateTime!

    Dessa forma, já se pega a data e faz o tratamento! tanto na gravação quanto na leitura

    quarta-feira, 11 de julho de 2012 12:12
  • Dicas:

    1 - Aplique a Culture do seu app para PT-br.

    2 - Receba da forma que vier do banco e sempre trate em uma função que lhe retorna no formato desejado. (Trabalho uma vez só)


    É possível sim! Ponha isso na sua cabeça. É possível. "Steve Jobs"

    Eduardo Pires
    www.eduardopires.net.br

           


    quarta-feira, 11 de julho de 2012 12:26
  • Cara é só colocar isso no web.config   <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="pt-br"  />

    Abraço!

    quarta-feira, 11 de julho de 2012 15:51