Não repetir registro na Tabela Virtual

Delphi

15/09/2008

Boa tarde pessoal!

Estou mais uma vez precisando de ajuda.
Bom é o seguinte : No meu sistema uso o mysql com o zeos, em determinadas partes eu precisei criar uma tabela virtual com o clientdataset
para inserir varios registros que são pegos de outra table, e só depois salvar no banco, até aí tudo bem o problema é que não estou conseguindo fazer com que esta tabela virtual(clientdataset), não deixe inserir registros repetidos, apenas no clientdataset.
        cdsatend.Append;
        cdsatend.FieldByName(´matricula´).AsString:= edmat.Text;
        cdsatend.FieldByName(´Pavilhao´).AsString:= dbedit3.Text;
        cdsatend.FieldByName(´cela´).AsString:= dbedit2.Text;
        cdsatend.FieldByName(´nome´).AsString:= dbedit1.Text;
        cdsatend.Post;



Robsonr

Robsonr

Curtidas 0

Respostas

Robsonr

Robsonr

15/09/2008

ALGUUUÉÉÉÉMMMM?????????


GOSTEI 0
Adoniram

Adoniram

15/09/2008

Cria um indice para a tabela virtual e faz uma busca quando vc for inserir os dados para ver se o dado já não está na tabela.


GOSTEI 0
Robsonr

Robsonr

15/09/2008

A minha dificuldade está em fazer esta busca para verificar se há o registro na tabela, alguém poderia me dar um exemplo?


GOSTEI 0
Adoniram

Adoniram

15/09/2008

if not tabela.FindKey([chave de pesquisa1, chave de pesquisa 2, chave de pesquisa 3])then
tabela.append;

<aqui vai sua rotina para inserir os dados>


OU

if not tabela.locate(´campo1;campo2;campo3´, VarArrayOf([chave de pesquisa1, chave de pesquisa2, chave de pesquisa3]),[])then
tabela.append;

<aqui vai sua rotina para inserir os dados>


GOSTEI 0
Robsonr

Robsonr

15/09/2008

Valew adoniram

Usei o locate e deu certo

obrigado


GOSTEI 0
Adoniram

Adoniram

15/09/2008

falou!!!!


GOSTEI 0
POSTAR