Erro ao fazer Locate (Is not a valid timestamp)

Delphi

19/12/2012

Boa tarde.


Quando eu tento fazer esse locate:

horario: String;
tHora : TTime;

horario:= StringGrid2.Cells[0,i];  // Aqui eu pego o horário de uma coluna selecionada na StringGrid.
tHora := StrToTime( horario);

tblAgenda.Locate('hrservico',tHora,[]);


O campo hrservico no banco está como time.

Ta retornando esse erro: Is not a valid timestamp...

Já tentei de várias maneiras mas sempre fica nisso.
Vander Carlos

Vander Carlos

Curtidas 0

Respostas

Claudia Nogueira

Claudia Nogueira

19/12/2012

Tenta assim:

try
  tHora := StrToTime(horario);
except
  ShowMessage('Hora Inválida!');
  Exit;
end;
tblAgenda.Locate('hrservico',FormatDateTime('hh:mm:ss',tHora),[]);
GOSTEI 0
Vander Carlos

Vander Carlos

19/12/2012

Mesmo erro.

Quando seleciono a linha dou um: ShowMessage(horario);

E me retorna o horário certo: 07:00:00

GOSTEI 0
Claudia Nogueira

Claudia Nogueira

19/12/2012

Antes de responder eu testei.
Criei o BD e a tabela no MySQL e fiz seu código e não deu erro.
Qual BD você usa?

Mesmo erro.

Quando seleciono a linha dou um: ShowMessage(horario);

E me retorna o horário certo: 07:00:00

GOSTEI 0
Vander Carlos

Vander Carlos

19/12/2012

MySQL -> Toad -> E os componentes são os do MySql.
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

19/12/2012

tente:
   try
      tHora := StrToTime(horario);
      tblAgenda.Locate('hrservico',tHora,[]);
   except
      ShowMessage('Hora Inválida!');
   end;

GOSTEI 0
Vander Carlos

Vander Carlos

19/12/2012

O locate que eu estava fazendo era com 3 campos, codcliente, dataagendamento e o horario.

  tblAgenda.Locate('codcli;dtagendamento;hrservico', VarArrayOf([codCli,
                                                   Data,
                                                   FormatDateTime('hh:mm:ss',tHora)]), []);




Como só tava dando errado com o horário só postei o locate dele, fui tentar só com ele e deu certo:


 tblAgenda.Locate('hrservico', FormatDateTime('hh:mm:ss',tHora),[]); 


Porém quando eu clico mais de 2 vezes em uma linha da tabela para fazer a pesquisa, o erro: Is not a valid timestamp aparece novamente...
GOSTEI 0
Vander Carlos

Vander Carlos

19/12/2012

Ou quando eu seleciono linhas diferentes.

Por exemplo, clico na linha do Horário de 07:00:00 e faz a pesquisa normal, quando clico em outra linha 07:30:00 aparece o erro de novo.
GOSTEI 0
POSTAR