Fórum Não repetir registro na Tabela Virtual #363939

15/09/2008

0

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

Responder

Posts

15/09/2008

Robsonr

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


Responder

Gostei + 0

15/09/2008

Adoniram

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.


Responder

Gostei + 0

16/09/2008

Robsonr

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


Responder

Gostei + 0

16/09/2008

Adoniram

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>


Responder

Gostei + 0

16/09/2008

Robsonr

Valew adoniram

Usei o locate e deu certo

obrigado


Responder

Gostei + 0

16/09/2008

Adoniram

falou!!!!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar