FindKey em MySQL?????

Delphi

03/06/2004

Olá pessoal,

Estou precisando fazer um código simples, mas em MySQL não está dando certo. Vejam o código:

[color=red:2707f587e9]If Not DMDados.TBProfessores.FindKey([DMDados.TBDetProfCodigoDoProfessor.Value]) Then[/color:2707f587e9] Begin ShowMessage(´Professor não cadastrado.´); DBEdit2.SetFocus; Exit; End;


O erro acontece já na primeira linha (em vermelho). Vejam o erro:

[Error] UFrmCadDetProfessor.pas(273): Undeclared identifier:´FindKey´


Como posso corrigir isso?

Grato,

Ilano.


Ilanocf

Ilanocf

Curtidas 0

Respostas

Poeta Noturno

Poeta Noturno

03/06/2004

Como vai Ilano?

Olha, por que você não tenta começar a trabalhar com o locate? É uma das funções de busca mais utilizada pelos programadores (assim li em uma edição da clubedelphi).

Tenta alterar para este código:

If Not DMDados.TBProfessores.Locate(´campo´, DMDados.TBDetProfCodigoDoProfessor.Value, []) Then
Begin
ShowMessage(´Professor não cadastrado.´);
DBEdit2.SetFocus;
Exit;
End;

Espero ter ajudado nesta!

Um abraço

Poeta Noturno


GOSTEI 0
Roy

Roy

03/06/2004

Olá Colegas!
O código que nosso amigo Poeta Noturno enviou teria que dar certo, não uso o Zeos, portanto não sei qual o problema, mas vc deve estar fazendo algo errado. O único lugar onde achei que poderia haver dúvida seria onde nosso amigo colocou:

If Not DMDados.TBProfessores.Locate(´campo´, DMDados.TBDetProfCodigoDoProfessor.Value, []) Then

´campo´ se refere ao nome do campo em sua tabela por exemplo:
CODIGO


GOSTEI 0
Sandra

Sandra

03/06/2004

Ilano,

Não estaria faltando declarar as units DB, DBTables ou ambas na Uses? De repente...


GOSTEI 0
Ilanocf

Ilanocf

03/06/2004

Olha só pessoal,

Eu já coloquei DB, DBTables, alterei o código para [b:77ab4b69f4]Locate[/b:77ab4b69f4]:

If Not DMDados.TBProfessores.Locate([DMDados.TBDetProfCodigoDoProfessor.Value]) Then Begin ShowMessage(´Professor não cadastrado.´); DBEdit2.SetFocus; Exit; End;


Mas nada! Então diz:

[Error] UFrmCadDetProfessor.pas(289): Ordinal type required



GOSTEI 0
Roy

Roy

03/06/2004

Dá uma olhada no seu código, pois o mesmo está errado:

If Not DMDados.TBProfessores.Locate([DMDados.TBDetProfCodigoDoProfessor.Value]) Then
Begin
ShowMessage(´Professor não cadastrado.´);
DBEdit2.SetFocus;
Exit;
End;


o certo é:

If Not DMDados.TBProfessores.Locate(´CODIGO´, DMDados.TBDetProfCodigoDoProfessor.Value,[]) Then
Begin
ShowMessage(´Professor não cadastrado.´);
DBEdit2.SetFocus;
Exit;
End;

Onde ´CODIGO´ é o nome do campo na tabela.


GOSTEI 0
POSTAR