Ir para conteúdo
Fórum Script Brasil
  • 0

Datas no SQL Server 2005 + C#


Flávio Borges

Pergunta

Galera, é o seguinte: estou fazendo um programa em C# com base de Dados SQL Server 2005.

Porém estou tendo problema com as datas...

a) Quando tento fazer um insert, ele diz que a data está fora dos limites... Pesquisei na net e fala que o formato padrão do SQL Server é MM/DD/AAAA. Não tem como mudar esse padrão, ou resolver o problema de alguma outra forma que não seja tratar a data que estou inserindo, pois o software usa o padrão DD/MM/AAAA.

B) Quando faço um select, ele num me retorna DD/MM/AAAA, mas sim D/M/AAAA... Ou seja, se tiver armazenado 01/01/2000, ele retorna 1/1/2000... Num tem como mudar isso não?

Obrigado pela ajuda de todos...

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
b ) Quando faço um select, ele num me retorna DD/MM/AAAA, mas sim D/M/AAAA... Ou seja, se tiver armazenado 01/01/2000, ele retorna 1/1/2000... Num tem como mudar isso não?
você pode usar a função CONVERT (ref. msdn) para isto:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

ex:

select Nome, CONVERT (varchar(10), DatNasc ,103) from alunos

o 103, conforme você poderá ver no link em referência, diz respeito a formatação dd/mm/yyyy (ano com 4 dígitos). Se for para usar 2 dígitos, style deve ser 3.

a) Quando tento fazer um insert, ele diz que a data está fora dos limites... Pesquisei na net e fala que o formato padrão do SQL Server é MM/DD/AAAA. Não tem como mudar esse padrão, ou resolver o problema de alguma outra forma que não seja tratar a data que estou inserindo, pois o software usa o padrão DD/MM/AAAA.
para este caso, talvez você possa fazer uso da mesma função, se usar a data como um string:

CONVERT (date, '25/04/2008' , 103)

É experimentar para ver...

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
a) Quando tento fazer um insert, ele diz que a data está fora dos limites... Pesquisei na net e fala que o formato padrão do SQL Server é MM/DD/AAAA. Não tem como mudar esse padrão, ou resolver o problema de alguma outra forma que não seja tratar a data que estou inserindo, pois o software usa o padrão DD/MM/AAAA.

normalmente inserindo no formato YYYY-MM-DD ele sempre aceita.

B) Quando faço um select, ele num me retorna DD/MM/AAAA, mas sim D/M/AAAA... Ou seja, se tiver armazenado 01/01/2000, ele retorna 1/1/2000... Num tem como mudar isso não?

você pode usar a dica do micheus, mas o problema é o campo vai vir como string, e ai você pode ter problemas caso queira usar como data, ou ordenar no grid, etc. mas você pode converter no c# apenas na hora de mostrar. se não me engano, você pode passar o formato como parametro para o metodo ToString(). exemplo:

TextBox1.Text = data.ToString("dd/MM/yyyy");

so não tenho certeza quanto aos formatos q o c# aceita, mas você pode fazer uma busca por ai, ou mesmo postar na sala de .NET.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...