Problemas com campo DATE, Oracle e Delphi

Oracle

14/03/2005

Salve a todos.
Estou acessando o oracle com zeos, fazendo os comandos de insert/update/delete através do zUpdateSQL.
Tudo corrento com a conexão, porém ao tentar iserir um registro onde tem campo DATE, esta apresentando erro.
Passo a string de insert assim:
insert into usuarios (usu_codigo, usu_nome, usu_data)
values(:usu_codigo, :usu_nome, to_date(:usu_data, ´dd/mm/yyyy´))

O erro parece ser com a conversão da data, ja fiz de tudos os tipo imaginaveis que eu conheço e nada.

Sou iniciante com o Oracle e peço a ajuda de alguem com mais experiência.


Paganato

Paganato

Curtidas 0

Respostas

Motta

Motta

14/03/2005

Salve a todos. Estou acessando o oracle com zeos, fazendo os comandos de insert/update/delete através do zUpdateSQL. Tudo corrento com a conexão, porém ao tentar iserir um registro onde tem campo DATE, esta apresentando erro. Passo a string de insert assim: insert into usuarios (usu_codigo, usu_nome, usu_data) values(:usu_codigo, :usu_nome, to_date(:usu_data, ´dd/mm/yyyy´)) O erro parece ser com a conversão da data, ja fiz de tudos os tipo imaginaveis que eu conheço e nada. Sou iniciante com o Oracle e peço a ajuda de alguem com mais experiência.



o param :usu_data pelo exemplo é uma string , a função To_date converte uma string em data, troque o pedaçõ por ... ...

insert into usuarios (usu_codigo, usu_nome, usu_data)
values(:usu_codigo, :usu_nome, :usu_data2)

onde :usu_data2 seja um parametro do tipo date , a camada de acesso no caso resolve a conversão


GOSTEI 0
Paganato

Paganato

14/03/2005

ola Motta,
fiz exatamente como vc disse, porém sem sucesso, apresentou o seguinte erro: ´o literal não corresponde a string de formato.´.

estou usando o componente ´TDBDateEdit´ para coletar a data, e o resto como descrevi antes.


GOSTEI 0
Motta

Motta

14/03/2005

o dbedit deve está ligado a um TField do tipo de data, se nenhum formato for especificado o padrão do windows (conf. regionais ) será usado.

em geral se usa dd/mm/yyyy


GOSTEI 0
Paganato

Paganato

14/03/2005

Esta tudo do jeito explicato, porém continua dando erro.
Já usei dbEdit, dbDateEdit. Estou verificando o valor passado e ele sai no formato ´dd/mm/yyyy´.


GOSTEI 0
Motta

Motta

14/03/2005

era para funcionar , não tem muito misterio nisto não.

verifique se o TField tem formato definido ...


GOSTEI 0
Rômulo Barros

Rômulo Barros

14/03/2005

Quando vc for passar o parâmetro [b:68f24c01bd]usu_data[/b:68f24c01bd], passe-o entre [b:68f24c01bd]aspas simples[/b:68f24c01bd].

Params.ParambyName(´usu_data´).AsString := QuotedStr(´01/04/2005´);



GOSTEI 0
João Bernardo

João Bernardo

14/03/2005

se voce esta usando zquery e um zUpdateSQL so de voce mandar gerar o sql no zUpdateSQL ja funciona no formato q vc ta mandano a data.

faz o teste:

da um select * na zquery adiciona todos os campos, coloca no formulario

cria um botao para gravar e colocar a query em no modo insert OS: no formshow tem q coloca-la nomodo insert TB

vai no zUpdateSQL e manda gerar o sql

so testar...


blz


GOSTEI 0
POSTAR