Ir para conteúdo

POWERED BY:

Arquivado

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

natalia

Inserir data

Recommended Posts

Oi pessoal, eu estou tentando gravar data no formato dd/mm/aaaa no banco SQL, então peguei um script no forum, mas mesmo assim não consigo gravar nesse formato. Alguém poderia ver o que está errado.Microsoft OLE DB Provider for SQL Server (0x80040E07)The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value./loja-teste/goone-admin/produto/cad_produto2.asp, line 90A linha 90 é essa: Conexao.Execute(strInsProd) Trechos do código: cad_produto.asp<script language=javascript>function Mascara (objeto){campo = eval (objeto);separador = '/'; conjunto1 = 2;conjunto2 = 5;conjunto3 = 10;dia = campo.value.substring(0,2);mes = campo.value.substring(3,5);ano = campo.value.substring(6,10);//validação do dia if (campo.value.length == conjunto1){if (campo.value > 31){alert ("Valor para dia Incorreto");campo.value = "";} else {campo.value = campo.value + separador;}}//fim validação do dia//validacao de mesif (campo.value.length == conjunto2){if (mes > 12){alert ("Valor para mes Incorreto");campo.value = dia + separador;} else {campo.value = campo.value + separador;}}//fim validação de mes//validacao de anoif (campo.value.length == conjunto3){//testando o ano digitado para saber se é bisexto ou não//de acordo com o ano e com o mês será setado o máximo de diasnumero = ((parseInt(ano) - 1884) / 4);if(numero == Math.floor(numero)) {dias = "312931303130313130313031";}else {dias = "312831303130313130313031";}//selecionando o máximo de dias da string escolhida pelo teste acimadiamax = parseInt(dias.substring((mes-1)*2,((mes-1)*2)+2));//testando agora os valores do ano já com o máximo de dias relacionado ao mêsif(parseInt(dia) < 1 || parseInt(dia) > diamax) {alert ("Valor para dia ou mês Incorreto");campo.value = "";} else {campo.value = campo.value;}//testando um intervalo válido de anosif (parseInt(ano) > 2100 || parseInt(ano) < 1900){alert ("Valor para Ano Incorreto");campo.value = dia + separador + mes + separador;} else {campo.value = campo.value;}}//fim validação }</SCRIPT>..<form name="Geral" method="post" action="cad_produto2.asp"><input align=left maxlength=10 name="DATA" onKeyUp="Mascara('document.Geral.DATA');" size="10" class="listmenu"> <input align=left maxlength=10 name="DATA2" onKeyUp="Mascara('document.Geral.DATA2');" size="10" class="listmenu"> <input align=left maxlength=10 name="DATA3" onKeyUp="Mascara('document.Geral.DATA3');" size="10" class="listmenu"> <input align=left maxlength=10 name="DATA4" onKeyUp="Mascara('document.Geral.DATA4');" size="10" class="listmenu">cad_produto2.aspvarIniPromo = Request.Form("DATA")varFimPromo = Request.Form("DATA2")varIniCD = Request.Form("DATA3")varFimCD = Request.Form("DATA4")strInsProd = "INSERT INTO Produto (Codigo_Subcat, Codigo_Marca, Nome_Prod, Descricao, Especificacao, "strInsProd = strInsProd & " Preco, Valor_Custo, Disponivel, CountDown, Data_Ini_CD, Data_Fim_CD, Qtde_CD, Promo, "strInsProd = strInsProd & " Preco_Promo, Data_Ini_Promo, Data_Fim_Promo, Frete_Zero, Novidade, Garantia_Prod, "strInsProd = strInsProd & " Conteudo_Prod, Peso, Valor_Bonus, Nota_Adm, Nota_Usu, Testemunho_Usu) "strInsProd = strInsProd & " VALUES (" & varSubcat & ", " & varMarca & ", '" & varProd & "', "strInsProd = strInsProd & " '" & varDescr & "', '" & varEspec & "', '" & varPreco & "', "strInsProd = strInsProd & " '" & varCusto & "', '" & varDispon & "', '" & varCount & "', '" & varIniCD & "', "strInsProd = strInsProd & " '" & varFimCD & "', '" & varQtdeCD & "', '" & varPromo & "', '" & varPrecoPromo & "', "strInsProd = strInsProd & " '" & varIniPromo & "', '" & varFimPromo & "', '" & varFrete & "', '" & varNovi & "', "strInsProd = strInsProd & " '" & varGarantia & "', '" & varConteudo & "', '" & varPeso & "', '" & varBonus & "', "strInsProd = strInsProd & " '" & varNotaAdm & "', '" & varNotaUsu & "', '" & varTestem & "') "

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se os campos do bd forem tipo data tente inserir com "#" antes e depois da data.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu naum li o codigo inteiru + pelo q entendi do erru tenta cadastrar a data no formato mm/dd/yyyy pq no SQL Server soh dah pra salva assim e dai qnd você for mostrar utilize uma funcao vbscript para tornar a data certa dd/mm/aaaa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sei que dá p/ fazer isso que preciso, mas até agora não encontrei nenhum script que funcione. Eu não posso chegar no administrador do site e dizer está tudo pronto, mas tome cuidado p/ cadastrar datas, tem que ser nesse formato mm/dd/yyyy.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi ..porque não faz tudo separado .....day()/month()/year|()joga tudo em campos diferentes e ao pegar voce monta tudo...ou monta tudo antes de colocar no banco ....pelo que vejo esta dificil de encontrar tal função espero que consiga valeu......

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.