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] >> >> >> > > >