GARANTIR DESCONTO

Fórum Capturar o sql de um cds #347343

15/10/2007

0

O CDS não possui a propriedade SQL. Então, como faço mesmo para pegar o valor da query que está sendo passado? Ex: Se fosse um SqlQuery eu pego assim:
SqlQuery1.Sql.SaveTofile(´C:\....´);
Como é mesmo no CDS? Se for assimn:
Cds.SaveTofile(´C:\...´); não funciona, já tentei.


Paulo

Paulo

Responder

Posts

15/10/2007

Rodolfo.pirolo

Paulo,

Voce pode pegar a instrução sql no commandtext do clientdataset, ficaria assim:

sSql := seuclientdataset.commandtext;

Abraços

Rodolfo


Responder

Gostei + 0

15/10/2007

Paulo

Assim não funciona. Ele pega o CommandText, mas não pega os valores passados para ele, como parâmetros e etc... Tipo assim:

cds.commandtext := ´select campo1 from tabela where campo1 =:p1´;
cds.params[0].AsString := ´1´;
cds.open;

Se eu der variavel := cds.commandtext, vai vir o seguinte:
´select campo1 from tabela where campo1 =:p1´;
e o que eu quero seria:
´select campo1 from tabela where campo1 = ´1´´;


Responder

Gostei + 0

16/10/2007

Rodolfo.pirolo

Paulo,

Opçao 1
Voce esta usando todos os componentes dbxpress ( SqlDataSet, DataSetProvider, ClientDataSet )? Se estiver, poderia pegar o commandtext do sqldataset, acredito que lá a instrução sql já esta completa, do jeito que voce quer.

Opçao 2
Pegar o valor dos parametros no clientdataset, através do comando seuclientdataset.param[??].value, onde ´??´ é a sequencia de parametros passados.

Abraços

Rodolfo


Responder

Gostei + 0

16/10/2007

Paulo

Acho que eu não me fiz entender. Quando eu uso o Sqlquery, eu faço assim:
SqlQuery.Sql.SaveToFile(´C:\Teste\Sql.txt´);

Capturo o sql e rodo no Query Analizer(Sql Server), para testar a query e etc, etc, etc e etc...

O que eu postei foi como fazer o mesmo num CDS? Não há, nesse caso SqlQuery ou qualquer outro componente que possua a propriedade SQL.

Essa é minha dúvida, como capturar a query naquele momento e rodar no Analizer, SqlExplorer, Toad e etc...


Responder

Gostei + 0

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

Aceitar