Fórum Nome das tabelas dos fields de um clientdataset - GetTableNameFromSQL #414078
15/03/2012
0
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
Curtir tópico
+ 0Posts
15/03/2012
Leonardo Xavier
from tabela1
left join tabela2 as tabela1 on tabela1.chave= tabela2.chave
==
Gostei + 0
15/03/2012
Tek-system Ltda
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
Gostei + 0
15/03/2012
Leonardo Xavier
[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]
Gostei + 0
15/03/2012
Tek-system Ltda
Não entendi em que ou como isso vai me ajudar, pois traz todas as tabelas do meu banco.
Marcos
Gostei + 0
15/03/2012
Leonardo Xavier
GetTableNameFromSQL(const SQL: WideString): WideString;
GetTableNameFromQuery(const SQL: WideString): WideString;
GetTableNameFromSQLEx(const SQL: WideString; IdOption: IDENTIFIEROption): WideString;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)