vitorarouca Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 Bom dia!Eu queria converter uma string em data...Eu estou a usar o SQL Server e estou a fazer a inserção através de uma stored procedure assim:[b]spagenda @opcao='i', @datahora = '18-01-2005 10:18:26', @codtecnico = '03', @codcliente = 'INFORSHOW', @observacoes = 'teste' [/b] e dá-me o seguinte erro: Error converting data type varchar to datetime. No StoredProcedure está assim: IF @opcao = 'i' BEGIN DECLARE @dataconvertida DATETIME SELECT @dataconvertida=convert(datetime,@datahora) INSERT INTO agenda (datahora,codtecnico,codcliente,observacoes) VALUES @dataconvertida,@codtecnico,@codcliente,@observacoes) ENDSerá que alguém me pode ajudar!!!Obrigado Vitor Arouca Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 Brother!!http://scriptbrasil.com.br/forum/index.php...indpost&p=93343Tópico que fala sobre formatação de datas!Espero que lhe ajude.. Link para o comentário Compartilhar em outros sites More sharing options...
0 vitorarouca Postado Janeiro 17, 2005 Autor Denunciar Share Postado Janeiro 17, 2005 Não ajudou muito não!!!!continuo com as mesmas dúvidas e sem conseguir resolver o problema....o código que tenho não deveria funionar??? Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 Error converting data type varchar to datetime. Vitor!!!Qual formato em que sua data esta no SQL Server ? Brasileiro ou Americano ?Teoricamente, seu código esta corretissimo. Deveria funcionar na boa....mas pela mensagem de erro, é um erro na conversão... ou o formato da data a ser inserida não esta correspondendo com o formato atual do BDAbraços!! Link para o comentário Compartilhar em outros sites More sharing options...
0 vitorarouca Postado Janeiro 17, 2005 Autor Denunciar Share Postado Janeiro 17, 2005 o formato é o seguinte:04-11-2003 19:09:21 Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 o formato é o seguinte:04-11-2003 19:09:21 Bom, nunca tive problemas com este tipo de coisa, mas vai um teste!OBS: não sei bem, programação no SQL Server 2000IF @opcao = 'i' BEGIN DECLARE @dataconvertida AS DATETIME("hh/mm/yyy") SELECT @dataconvertida INSERT INTO Agenda (datahora, codtecnico, codcliente, observacoes) VALUES (@dataconvertida,@codtecnico,@codcliente,@observacoes) END Link para o comentário Compartilhar em outros sites More sharing options...
0 vitorarouca Postado Janeiro 17, 2005 Autor Denunciar Share Postado Janeiro 17, 2005 não funciona...a atribuição na primeira linha (dd/mm/yyy) não funciona Link para o comentário Compartilhar em outros sites More sharing options...
0 vitorarouca Postado Janeiro 17, 2005 Autor Denunciar Share Postado Janeiro 17, 2005 é o que está a acontecer é a troca dos meses pelos dias... Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 não funciona...a atribuição na primeira linha (dd/mm/yyy) não funciona Sei lá, tá dificil este caso, mas não impossivel....Vamos ao conhecimentos de Hank McCoy, um dos Ex-Men, mais interessantes...Se fosse inserir, informações na tabela que tenha uma campo data, seria desta forma:INSERT INTO Tabela VALUES('01/01/1901 10:10:01','12/31/01 22:10:01') Não tenho vergonha em dizer que não sei, e se estiver errado, me corrija, pois estou aprendendo com sua dúvida No seu código, vamos experimentar mudar o seguinte: IF @opcao = 'i' BEGIN DECLARE @dataconvertida AS DATETIME SELECT CONVERT(@dataconvertida, DATE(),101) INSERT INTO Agenda (datahora, codtecnico, codcliente, observacoes) VALUES (@dataconvertida,@codtecnico,@codcliente,@observacoes) END Bolei este código no tapa, não tenho certeza absoluta se vai funcionar.... mas não custa tentar...Boa Sorte !!! []s Link para o comentário Compartilhar em outros sites More sharing options...
0 vitorarouca Postado Janeiro 17, 2005 Autor Denunciar Share Postado Janeiro 17, 2005 mesmo assim como tu colocaste e eu também já tinha tentado, mesmo com o código 113 no lugar do 101... não está a funcinar... ele continua a trocar os meses pelos dias Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 ele continua a trocar os meses pelos dias Hum.... Esta foi 'A pergunta'!!Como é programação dentro do banco de dados, não saberia ao certo lhe responder , mas se fosse no Asp, você poderia trabalhar no formato Brasileiro as suas variaveis.Session.LCID = 1046 aData = Now() Response.Write(aData) 'output: 17/01/2004 Link para o comentário Compartilhar em outros sites More sharing options...
0 vitorarouca Postado Janeiro 17, 2005 Autor Denunciar Share Postado Janeiro 17, 2005 não necessito de fazer na Base de dados...a conversão poder ser feita em asp desde que funcione depois quando eu inserir na base de dados Link para o comentário Compartilhar em outros sites More sharing options...
0 vitorarouca Postado Janeiro 17, 2005 Autor Denunciar Share Postado Janeiro 17, 2005 o problema é que na asp aparece a data com o formato que eu quero, mas depois para guardar na base de dados é que não fica certo Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 não necessito de fazer na Base de dados...a conversão poder ser feita em asp desde que funcione depois quando eu inserir na base de dados Sendo assim: Session.LCID = 1046 Variavel = FormatDateTime(Variavel, 2) Onde variavel, vai ser o o valor emitido para a variavel de sua stored procedure. Vejo o exemplo que fiz para um membro: <% Session.LCID = 1046 sdata = Date() Response.Write(FormatDateTime(sData, 1) & "<br><br>") Response.Write(FormatDateTime(sData, 2) & "<br><br>") Response.Write(FormatDateTime(sData, 3) & "<br><br>") Response.Write(FormatDateTime(sData, 4) & "<br><br>") %>O Resultado pode ser visualizado em : http://www.desenvolvedor.retrieve.com.br/data_formatada.asp Link para o comentário Compartilhar em outros sites More sharing options...
0 vitorarouca Postado Janeiro 17, 2005 Autor Denunciar Share Postado Janeiro 17, 2005 acontece a mesma coisa!!!a conversao tem que ser feita na base de dados... senão...a não ser que se inverta os meses e os dias antes e ele quando converter novamente já os vai colocar correctamente... complicado... eu explico...17/01/2005 temos que colocar 01/17/2005a base de dados vai colocar 17/01/2005agora preciso da tua ajuda para colocar a data do tipo 01/17/2005 em asp Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 isso aki serve???<% data=date() response.write data & "<br><br>" data2=month(data)&"/"&day(data)&"/"&year(data) response.write data2 %> Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 isso aki serve???<% data=date() response.write data & "<br><br>" data2=month(data)&"/"&day(data)&"/"&year(data) response.write data2 %> Cyber!! Dá pra simplificar... Data = Date()Se tudo estiver correto (acho que a data do servidor esta no formato americano) vai ocorrer tudo normalmente. Link para o comentário Compartilhar em outros sites More sharing options...
0 vitorarouca Postado Janeiro 17, 2005 Autor Denunciar Share Postado Janeiro 17, 2005 as voltas que temos que dar para dar a volta ao sistema!!!! está a funcionar... já agora se não for pedir muito podias terminar a variavel colocando também o formato da hora...data2=month(data)&"/"&day(data)&"/"&year(data)............. Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 as voltas que temos que dar para dar a volta ao sistema!!!! está a funcionar... já agora se não for pedir muito podias terminar a variavel colocando também o formato da hora...data2=month(data)&"/"&day(data)&"/"&year(data)............. Com a hora:<%data=date()response.write data & "<br><br>"data2=month(data)&"/"&day(data)&"/"&year(data)&" "&time()response.write data2%> Link para o comentário Compartilhar em outros sites More sharing options...
0 vitorarouca Postado Janeiro 17, 2005 Autor Denunciar Share Postado Janeiro 17, 2005 pois... funciona se for a data actual... mas o que eu pretendo fazer é um campo receber dados de uma text com a data e hora datas= Request.form("input4") data2=month(datas)&"/"&day(datas)&"/"&year(datas)&" "&time(datas) a parte &time(datas) não funciona: Assim funciona: data2=month(datas)&"/"&day(datas)&"/"&year(datas)&" "&time()mas vai buscar a hora do sistema Link para o comentário Compartilhar em outros sites More sharing options...
0 vitorarouca Postado Janeiro 17, 2005 Autor Denunciar Share Postado Janeiro 17, 2005 resolvi o problema na Base de Dados...da seguinte forma:declarei uma variável @datahora NVARCHAR(20)='' depois IF @opcao = 'i' BEGIN DECLARE @dataconvertida DATETIME SELECT @dataconvertida=CONVERT (datetime ,@datahora,105 ) INSERT INTO agenda (datahora,codtecnico,codcliente,observacoes) VALUES (@dataconvertida,@codtecnico,@codcliente,@observacoes) ENDo segredo era declarar a variável do tipo nvarchar(20)Obrigado por toda a atenção disponibilizada... Um abraço a todos e até breve... Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 Ok, Vitor!!Foi um prazer tê-lo conosco na seção Asp/Asp.Net!Contamos com sua visita de suas amigas também.Abração!![TÓPICO FECHADO] - Qualquer coisa, PM à um moderador!! Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
vitorarouca
Bom dia!
Eu queria converter uma string em data...
Eu estou a usar o SQL Server e estou a fazer a inserção através de uma stored procedure assim:
e dá-me o seguinte erro: No StoredProcedure está assim:Será que alguém me pode ajudar!!!
Obrigado
Vitor Arouca
Link para o comentário
Compartilhar em outros sites
21 respostass a esta questão
Posts Recomendados