Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Irene

ASP envia para SQL e a data grava como 1/1/1900

Recommended Posts

Carrego o form1.asp com o campo:<input name="Data_da_inclusao" type="text" value="<%=formatdatetime(now())%>" readonly="yes">No form2.asp recebo o valor:vData_da_inclusao=trim(request.Form("Data_da_inclusao"))faço insert no SQL 2005 Server Standart:vsql= "insert into dados_basicos ("vsql=vsql& " Data_da_inclusao"...vsql=vsql& "values ('" & vData_da_inclusao & "', "....Insert into dados_basicos ( Data_da_inclusao, Cod_Unidade_Req, Cod_Licitacao_De, Cod_Modalidade, Valor_Base, Prazo_Contratual, FIG, N_Ata_RP, N_DD, N_CIR, Cod_AOrcamentaria, Cod_Conta_Despesa, Cod_Programa, Cod_Recurso, Objeto, Justificativa_Necessidade, Justificativa_Orcamento, Observacoes)values ('19/6/2007 14:20:11', 18, 6, 5, 1000.00, '120', '12.258/07', '90.002/07', '0215/2006', '2589/2007', 3, 59, 18, 9, 'asdcklsnckn', 'çlcklçaclç', 'çlkcsçlckç', 'çlcmsçcm' ) Após processamento apresenta o seguinte erro:"Microsoft OLE DB Provider for SQL Server erro '80040e07' The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value. /quadrom/cadastra2.asp, line 124 "Line 124 = conexao.execute(vsql)Não cadastra nada no Banco de Dados.Tentei forçar o cadastro de uma data qualquer, digitando a data 19/06/07 no código....ele gravou o registro mas a data_da_inclusão não recebeu o valor que digitei e sim 1/1/1900 12:00:00....como explicar isso?Quem puder ajudar....Até, Irene

Compartilhar este post


Link para o post
Compartilhar em outros sites

Irene o valor 1/1/1900 12:00:00 é a data inicial no SQL Server, seria como você inserir o valor 0 em um campo Datetime.

 

Sobre o erro, provavelmente é conflito de formato de data.

"Microsoft OLE DB Provider for SQL Server erro '80040e07'

 

The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

 

/quadrom/cadastra2.asp, line 124 "

Tenta inserir os dados no padrão do SQL: AAAA-MM-DD

 

OK..!!?? T+...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Irene,

 

se você inserir um valor vazio o sql tb. grava como 1/1/1900, veja:

 

declare @teste table (data datetime)insert into @teste values ('')insert into @teste values (0)insert into @teste values (null)select * from @teste
grava assim:

1900-01-01 00:00:00.000

1900-01-01 00:00:00.000

NULL

mais sobre datas, veja este tópico em tutoriais e dicas de sql server: http://forum.imasters.com.br/index.php?showtopic=224454

 

 

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.