DATAS NO FORMATO BRASILEIRO NO SQL COM VB.NET

CARLOSVB 07/06/2007 21:44:18
#220234

Olá pessoal estou tentando gravar uma data no formato brasileiro meu banco de dados Sql 2005, para manipular este banco estou suando o vb.net 2005, no entanto so consingo gravar esta data quando uso este formato 2007-05-15, porém o que eu quero é: 15/05/2007. Gostaria de saber como formatar esta data para que eu possa grava-la no meu banco no padrão brasileiro

USUARIO.EXCLUIDOS 07/06/2007 23:30:06
#220253
Eu tive muitos problemas com a data e o que eu decidi foi grava-las na base de dados no formato americano e na hora de apresentar eu formato elas devolta ao brasileiro. isso me ajudou e muito até com as sql que apresetaram melhores resultados dessa forma.
USUARIO.EXCLUIDOS 08/06/2007 09:03:02
#220285
CARLOSVB:

O tipo de dados DATE e derivados (TimeStamp, DateTime, Time etc) são representações de valores de grande escala, e sempre são armazenados em um banco usando a notação americama, qualquer que seja o banco de dados.

Para apresentar uma data, trazendo-a desde o banco de dados, você deve utilizar-se de uma rotina de formatação, se deseja que ela seja mostrada como nós usamos em nosso dia-á-dia.

Por exemplo um DataGridView apresenta uma propriedade Format (DefaultGridViewCellStyle / Behaviour / Format) em cada coluna, na qual ao atribuir o valor textual "d", em sendo a coluna vinculada á um campo do tipo Date, o valor do campo será apresentado como uma "data curta" (dd/mm/yyyy), em acordo com as configurações regionais da estação de trabalho.

A função Format, ampliada pelo DotNet, também é uma opção. Assim, para formatar uma data oriunda do banco de dados em um textbox, você pode adotar os métodos á seguir:

TextBox1.Text = FormatDateTime(SeuDataReader("NomeDoCampo"), DateFormat.GeneralDate)
ou
TextBox1.Text = Format(SeuDataReader("NomeDoCampo"),"General Date")
ou ainda
TextBox1.Text = String.Format("Data do envio: {0:D}", SeuDataReader("NomeDoCampo"))

Pode ser útil também utilizar-se de funções de formatação de saída já na instrução SQL, se bem que este modo de trabalho acarrete alguma perda de desempenho.

Mas no momento da gravação, a data deverá ser enviada ao banco com o formato "nativo", isto é, o norte-americano, "mm-dd-yy hh:mm:ss".
Isso apenas caso as esteja enviando como texto, pois se as enviares como do tipo date mesmo, basta atualizar o registro por meio de um command e uma instrução parametrizada.

USUARIO.EXCLUIDOS 11/06/2007 14:37:19
#220703
toda base, como foi dito sempre armazena no formato americano..
vc nao foge disso
vc pode gravar em qualquer formato, e exibir no brasileiro
tipo assim
use a clausula format

txtdata.text= format( data,"dd/MM/yyyy")
essa expressao garante o formato brasileiro

abraços
USUARIO.EXCLUIDOS 12/06/2007 08:55:45
#220821
Formata a data para gravar corretamente no banco de dados.
  
INSERT INTO TABELA (CAMPO_DATA) VALUES(convert(smalldatetime, '25/07/1988', 103))
Tópico encerrado , respostas não são mais permitidas