Percorra todos os campos do dataset e verifique, para cada campo, se a opção 
pfInKey está definida na propriedade ProviderFlags. Se estiver, é pq o campo 
faz parte da chave. Essa é a maneira verificando via dataset. Agora verificando 
via banco, vc tem que checar no SGBD que vc usa qual(is) é(são) a(s) tabela(s) 
do catálogo que armazena(m) essa informação pra vc consultar.

Boa sorte.
Sds.



________________________________

To: delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Thu, 10 Apr 2008 19:06:39 -0300
Subject: [delphi-br] URGENTE - Como retornar Campos Primário do DataSet







Olá amigos Delphianos,

Preciso enviar para minha tela de pesquisa os campos chaves e o nome da
tabela de Datasource.

Tentei o seguinte:

procedure chamarLog(DS : Dataset);
var Tabela : TTable;
Campo: String;
begin
if (DS.State in [dsInsert, dsEdit) then
begin
Campo := DS.Fields[0].FieldName; //retornar o campo chave
Tabela := (DS as TTable).TableName); //retornar o nome da tabela
end;
end;

Só que dessa forma o o campo chave poderá ser mais de um e poderá estar em
qq posição da tabela.

Alguém poderia ajudar-me nesse problema ?

Agradeço,

Jorge Ericsson S. Pinheiro
Analista/Projetista de Sistemas
Ericsson Sistemas e Soluções
http://www.jericsson.com.br
61 9227.4785 / 3967.6172
Brasília - DF

[As partes desta mensagem que não continham texto foram removidas]









_________________________________________________________________
Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o 
Messenger! É GRÁTIS!
http://www.msn.com.br/emoticonpack

Responder a