Fellipe Henrique wrote:
> Davi, na verdade queria usar algo simples, sem ter que declarar nada, no
> estilo:
> 
> with RetDados('select * from cliente') do
> begin
>   ShowMessage(FieldByName('RAZAO').AsString);
> end;

with RetDados('select * from cliente') do
try
   ShowMessage(FieldByName('RAZAO').AsString);
finally
   Free;
end;

Sugestão da casa: economize nos with, use com moderação.

--
Joao Morais



> 
> Seria pra facilitar, visto que, já tenho uma função que faz isso, porém
> tenho que declarar variavel, igual vc me mostrou, mas queria simplificar,
> claro se for possível.. :o)
> 
> []s
> 
> 
> 2008/6/9 Davi Eduardo Borges Wall <[EMAIL PROTECTED]>:
> 
>>   Ai ai ai ai, ta faltando teoria Felipe! Só botar a mão na massa sem
>> entender o que está fazendo é perigoso.
>>
>> Você vai ter que retirar aquele CQ.FREE de dentro de sua função.
>> Na outra ponta você faz assim:
>>
>> Var
>> MeuDataSet: TDataSet;
>> Begin
>> MeuDataSet := RetDados('SELECT BLA FROM BLA');
>> try
>>
>> //faço o que tenho que fazer
>> finally
>>
>> MeuDataSet.Free;
>>
>> End;
>>
>> Felipe vc precisa de mais entendimento da linguagem e de ponteiros, que é
>> necessário para praticar uma boa programação.
>> Sugiro a você comprar algum livro de Delphi e estudar mais.
>>
>> []'s
>>
>> De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> [mailto:
>> delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>] Em nome de
>> Fellipe Henrique
>> Enviada em: segunda-feira, 9 de junho de 2008 15:56
>> Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>
>> Assunto: Re: [delphi-br] Ajuda numa função que retorna DataSet.
>>
>>
>> Mas Rubem, isso eu havia entendido, porém.. se eu der um RetDados.Free;
>> estarei liberando meu cQ que está dentro da função? E tipo, não tem como eu
>> passar os dados, fechar a Query, liberar ela, e os dados permanecerem não?
>> Minha preocupação é com o desenrolar do sistema, muitas querys abertas sem
>> fechar..
>>
>> []s
>>
>> 2008/6/9 Rubem Nascimento da Rocha <[EMAIL 
>> PROTECTED]<djpardalrocha%40hotmail.com><mailto:
>> djpardalrocha%40hotmail.com <djpardalrocha%2540hotmail.com>> >:
>>
>>> É óbvio que tá dando erro! Preste atenção! Vc está liberando uma consulta
>>> que está sendo o retorno da sua função. Se vc libera a consulta, logo vai
>>> estar liberando o retorno! Esse é o erro! A consulta não deve ser
>> liberada!
>>> Atente para isso!
>>>
>>> Sds.
>>>
>>> ________________________________
>>>
>>> To: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br><mailto:
>> delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>>
>> <delphi-br%40yahoogrupos.com.br>
>>> From: [EMAIL PROTECTED] <fellipeh%40gmail.com> <mailto:
>> fellipeh%40gmail.com <fellipeh%2540gmail.com>> <fellipeh%40gmail.com>
>>
>>> Date: Mon, 9 Jun 2008 15:47:04 -0300
>>> Subject: [delphi-br] Ajuda numa função que retorna DataSet.
>>>
>>>
>>> Olá amigos, estou criando uma função, que me retorne um DataSet, com o
>>> resultado de um SQL passado como parametro, porém não estou conseguindo..
>>> estou fazendo assim:
>>>
>>> function RetDados(sSQL: string): TDataSet;
>>> var
>>> cQ: TIBCQuery;
>>> cT: TIBCTransaction;
>>> begin
>>> cT := TIBCTransaction.Create(nil);
>>> cT.AddConnection(DM.Conexao);
>>>
>>> cQ := TIBCQuery.Create(nil);
>>> cQ.Transaction := cT;
>>> cQ.UpdateTransaction := cT;
>>> cQ.UniDirectional := True;
>>> try
>>> cQ.SQL.Text := sSQL;
>>> cQ.Open;
>>> Result := cQ;
>>> finally
>>> cQ.Free;
>>> cT.Free;
>>> end;
>>> end;
>>>
>>> Porém, sempre me retorna NIL, pois de qualquer forma passa no cQ.Free, e
>>> estou achando que quando faz isso eu perco o resultado. Seria isso mesmo?
>>> Se
>>> for, como concerto isso?
>>>
>>> Desde já agradeço.
>>>
>>> []s
>>>
>>> --
>>> _________________________________
>>> T.·.F.·.A.·.
>>> Fellipe Henrique
>>> [EMAIL PROTECTED] <fellipeh%40gmail.com> 
>>> <mailto:fellipeh%40gmail.com<fellipeh%2540gmail.com>>
>> <fellipeh%40gmail.com>
>>> Sou a favor da lei LEI 607/2007
>>>
>>> __________________________________________________________
>>> Confira vídeos com notícias do NY Times, gols direto do Lance,
>>> videocassetadas e muito mais no MSN Video!
>>> http://video.msn.com/?mkt=pt-br
>>>
>>>
>> --
>> _________________________________
>> T.·.F.·.A.·.
>> Fellipe Henrique
>> [EMAIL PROTECTED] <fellipeh%40gmail.com> 
>> <mailto:fellipeh%40gmail.com<fellipeh%2540gmail.com>>
>>
>>
>> Sou a favor da lei LEI 607/2007
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>  
>>
> 
> 
> 

Responder a