Conteudo do CommandText

06/11/2009

Boa tarde a todos.   Tenho o seguinte comando:     if (DBGrid.DataSource.DataSet is TClientDataSet) then
  begin
    if not (DBGrid.DataSource.DataSet as TClientDataSet).Active then
      begin
        (DBGrid.DataSource.DataSet as TClientDataSet).Open;
        strSqlAtual:= (DBGrid.DataSource.DataSet as TClientDataSet).CommandText;
      end;
  end;   Na linha em negrito eu queria pegar o conteudo do CommandText do DataSet linkado ao dbgrid..   Ele está passando o valor vazio ''.   Alguem sabe como fazer isso?   Aguardo...

Carlos Jr

Respostas

07/11/2009

Paulo Silva

Ola amigo tente isso     procedure TForm1.BitBtn1Click(Sender: TObject);
var
sql:string;
begin
  try
    if (DBGrid.DataSource.DataSet is TClientDataSet) then
  begin
    if not (DBGrid.DataSource.DataSet as TClientDataSet).Active then
      begin
        (DBGrid.DataSource.DataSet as TClientDataSet).Open;
        Sql:= TClientDataSet(dbgrid.DataSource.DataSet).CommandText;
        showmessage(sql);
      end;
  end;
  except
   raise Exception.Create('Nao foi possivel recuperar o comando');
  end;   end;  
Responder Citar

09/11/2009

Carlos Jr

Amigo,   Seu código tb não resolveu..   Fiz de outra forma..   criei uma variavel constante, e passei a sql pra ela...   Obrigado.
Responder Citar