Fórum Nome das tabelas dos fields de um clientdataset - GetTableNameFromSQL #414078

15/03/2012

0

Olá pessoal, veja se podem me ajudar!

Monto uma sql dinamicamente, que é uma consulta morta executada em um ClientDataSet. Algo do tipo:

commandText :=
select
tabela1.campoA,
tabela1.campoB,
tabela2.campoX,
tabela2.campoZ
... (outros campos se necessarios)...
from tabela1
left join tabela2 on tabela1.chave = tabela2.chave
...(outros joins se necessarios)
where tabela1.campoA = Valor_que_desejar

Como podem notar, existe a tabela1 e o join com a tabela2, e/ou outros...
Quando executo GetTableNameFromSQL(commandText) só retorna a tabela1 do from.

Preciso do retorno com todas as tabelas, inclusive as dos joins.
Como posso obter entao isso?

Na realidade preciso preencher um segundo clientdataset que possui field[1] = TABELA e field[2] = CAMPO,
onde cada campo resultante da instrução sql será um registro. Em um outro dado momento, precisarei remontar instruções
SQL utilizando-me desses registros (TABELA e CAMPO).

Marcos
cpeixoto.marcos@gmail.com
Tek-system Ltda

Tek-system Ltda

Responder

Posts

15/03/2012

Leonardo Xavier

Tente assim:
from tabela1
left join tabela2 as tabela1 on tabela1.chave= tabela2.chave

==

Responder

Gostei + 0

15/03/2012

Tek-system Ltda

Olá Leonardo,
Obrigado pela atenção, mas essa alteração não alterou nada no resultado do GetTableNameFromSQL.
Eu pensava que ele me retornasse as tabelas envolvidas...

Marcos
Responder

Gostei + 0

15/03/2012

Leonardo Xavier

tente isto aqui:

[CODE]
SELECT RDB$RELATION_NAME FROM RDB$RELATIONS
WHERE RDB$VIEW_BLR IS NULL AND (RDB$SYSTEM_FLAG = 0 OR RDB$SYSTEM_FLAG IS NULL);
[\CODE]
Responder

Gostei + 0

15/03/2012

Tek-system Ltda

Desculpa Leonardo,

Não entendi em que ou como isso vai me ajudar, pois traz todas as tabelas do meu banco.

Marcos
Responder

Gostei + 0

15/03/2012

Leonardo Xavier

tente alguns destes comandos:

GetTableNameFromSQL(const SQL: WideString): WideString;

GetTableNameFromQuery(const SQL: WideString): WideString;

GetTableNameFromSQLEx(const SQL: WideString; IdOption: IDENTIFIEROption): WideString;
Responder

Gostei + 0

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

Aceitar