campo do tipo quot;TDateFieldquot; em SQL
Estou desenvolvendo um aplicativo em que o usuário irá filtrar uma tabela que possui campos do tipo data (TDateField).
O filtro utilizará a linguagem SQL. Exemplo:
select * from ´D:\Teste\Tabela.DBF´ where (DATA > ´30/1/2003´).
Observe que o campo <DATA> está no formato ´dia/mês/ano´ e para o filtro funcionar corretamente, o usuário deveria utilizar a seguinte linha de comando:
select * from ´D:\Teste\Tabela.DBF´ where (DATA > ´1/30/2003´).
Ou seja, formato ´mês/dia/ano´.
Eu poderia utilizar alguma função do tipo:
copy(edt.text,4,2)+´/´+copy(edt.text,1,2)+´/´+copy(edt.text,7,4);
Porém é bem mais complicado do que parece. Por exemplo: no aplicativo que estou desenvolvendo, o usuário pode inserir um comando Sql com vários parâmetros e de qualquer campo da tabela a ser consultada, podendo inclusive haver vários campos do tipo ´TDateField´ ou vários parâmetros para o mesmo campo, portanto ficaria muito complicado capturar com precisão o parâmetro referente ao dado do tipo ´TDate´.
Por favor, alguém sabe me dizer como fazer com que o Sql reconheça o tipo ´dia/mês/ano´, ou saiba como resolver o meu problema.
Fico muito grata pela atenção.
O filtro utilizará a linguagem SQL. Exemplo:
select * from ´D:\Teste\Tabela.DBF´ where (DATA > ´30/1/2003´).
Observe que o campo <DATA> está no formato ´dia/mês/ano´ e para o filtro funcionar corretamente, o usuário deveria utilizar a seguinte linha de comando:
select * from ´D:\Teste\Tabela.DBF´ where (DATA > ´1/30/2003´).
Ou seja, formato ´mês/dia/ano´.
Eu poderia utilizar alguma função do tipo:
copy(edt.text,4,2)+´/´+copy(edt.text,1,2)+´/´+copy(edt.text,7,4);
Porém é bem mais complicado do que parece. Por exemplo: no aplicativo que estou desenvolvendo, o usuário pode inserir um comando Sql com vários parâmetros e de qualquer campo da tabela a ser consultada, podendo inclusive haver vários campos do tipo ´TDateField´ ou vários parâmetros para o mesmo campo, portanto ficaria muito complicado capturar com precisão o parâmetro referente ao dado do tipo ´TDate´.
Por favor, alguém sabe me dizer como fazer com que o Sql reconheça o tipo ´dia/mês/ano´, ou saiba como resolver o meu problema.
Fico muito grata pela atenção.
Ana Cláudia
Curtidas 0
Respostas
Anonymous
18/03/2003
Coloca o código aqui.
GOSTEI 0
Ana Cláudia
18/03/2003
[quote=´Anonymous´]Coloca o código aqui.
GOSTEI 0
Anonymous
18/03/2003
formatdatetime(´mm/dd/aaaa´,data)
a data deverá ser passada entre aspas para o sistema não considerá-la como divisão
a data deverá ser passada entre aspas para o sistema não considerá-la como divisão
GOSTEI 0