Conversion error from string 0

Delphi

06/02/2008

Olá a todos!

Alguem sabe qual é esse erro? ´Conversion error from string 0´

Estou fazendo um select que envolve o campo data, eu uso datetimepicker e jogo na minha sql:
  data:=FormatDateTime(´dd.mm.yyyy´,DateTimePicker.Date);
  ClientDataSet_conta.close;
  SQLQuery_conta.SQL.text:=´SELECT * FROM CONTA WHERE DATA=´+  data;
  ClientDataSet_conta.Open;
  


Alguem sabe o porque?

Desde de já agradeço :D :D


beijos :wink: [/code]


R_enatinha

R_enatinha

Curtidas 0

Respostas

Onjahyr

Onjahyr

06/02/2008

data:=FormatDateTime(´dd.mm.yyyy´,DateTimePicker.Date);

Não sou bom de Banco de Dados, mas o FormatDataTime tem que ser assim: [b:6c4d54e746]dd/mm/yyy[/b:6c4d54e746]


GOSTEI 0
Onjahyr

Onjahyr

06/02/2008

faltou um ´y´

[b:6cf6b17ac0]dd/mm/yyyy[/b:6cf6b17ac0]


GOSTEI 0
R_enatinha

R_enatinha

06/02/2008

Ahh coloquei ´/´e está dando o mesmo erro :cry:


GOSTEI 0
Onjahyr

Onjahyr

06/02/2008

Tenta ver esta questão no fórum e vê se resolve teu problema:

[url]http://www.activedelphi.com.br/forum/viewtopic.php?p=161023&sid=6726acb7372e81c9e49e6b3c407adaed[/url]


GOSTEI 0
Rickyale2

Rickyale2

06/02/2008

Eu não utilizei esses bancos de dados, então vai um chute.

Nessas querys não precisa colocar aspas para informar o campo data?

tipo :
SQLQuery_conta.SQL.text:=´SELECT * FROM CONTA WHERE DATA=´´+data+´´´;

ou aspas simples.


GOSTEI 0
R_enatinha

R_enatinha

06/02/2008

Ola!!

Consegui resolver aqui o problema! Mto obrigada! Fui juntando as coisas e testando e ficou assim:
    aux:=FormatDateTime(´dd.mm.yyyy´,DateTimePicker.Date);
    ClientDataSet_conta.close;
    SQLQuery_conta.SQL.text:=´SELECT * FROM CONTA WHERE DATA=´´´+ aux + ´´´´;
    ClientDataSet_conta.Open;


Se no formatdatetime não colocar o ´´.´ em vez de ´/´, ele invertia a data com mês. Ele pesquisava mm/dd/yyyy. Mto estranho, mas funciona :D .


Agradeço a todos!


beijos


GOSTEI 0
Paullsoftware

Paullsoftware

06/02/2008

Ola!! Consegui resolver aqui o problema! Mto obrigada! Fui juntando as coisas e testando e ficou assim:
    aux:=FormatDateTime(´dd.mm.yyyy´,DateTimePicker.Date);
    ClientDataSet_conta.close;
    SQLQuery_conta.SQL.text:=´SELECT * FROM CONTA WHERE DATA=´´´+ aux + ´´´´;
    ClientDataSet_conta.Open;
Se no formatdatetime não colocar o ´´.´ em vez de ´/´, ele invertia a data com mês. Ele pesquisava mm/dd/yyyy. Mto estranho, mas funciona :D . Agradeço a todos! beijos
olha, com relação ao formato da data/hora acho que seria legal você configurar nas [b:cd802917b0]opições regionais do painel de controle[/b:cd802917b0], um outro ponto é que gosto muito de usar os paramentros ao invés de escrever diretamente no sql assim:
    aux:=FormatDateTime(´dd.mm.yyyy´,DateTimePicker.Date);
    ClientDataSet_conta.close;
    SQLQuery_conta.SQL.text:=´SELECT * FROM CONTA WHERE DATA=:DATA´;
    ClientDataSet_conta.Params[0].AsDate := DateTimePicker.Date;
    // ou então assim:
    //ClientDataSet_conta.Params[0].AsString := FormatDateTime(´dd/mm/yyyy´,DateTimePicker.Date);
    ClientDataSet_conta.Open;

espero ter ajudado :wink:


GOSTEI 0
POSTAR