Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 25-04-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Hola...

Cita:
Empezado por cestradar Ver Mensaje
mmmmmmmmmmmmmmm, no, no todos

¿Qué ventaja me da tener esa función en una librería a tener un componente TQuery? , digo, igual voy a configurarlos, ya sea con parámetros o desde código.
¿ahorro de código?, igual voy a definir variables tipo TQuery o TDataSet para recibir esa función, no le veo la utilidad real
Pues como bien comentas, ahorro de código...

No es lo mismo hacer:

Código Delphi [-]
var
  AQuery1: TQuery;
  AQuery2: TQuery;

begin
  AQuery1 := TQuery.Create(nil);
  with AQuery1 do
    try
      SQL.Text := 'select * from tabla1';
      Prepare;
      Open;
      // Código X aquí
    finally
      Free
    end;
  AQuery2 := TQuery.Create(nil);
  with AQuery2 do
    try
      SQL.Text := 'select * from tabla2 where campo1 = 5';
      Prepare;
      Open;
      // Código X aquí
    finally
      Free
    end;
  AQuery1 := TQuery.Create(nil);
  with AQuery1 do
    try
      SQL.Text := 'select * from tabla3 where campo1 = 7 and campo2 = ''Hola''';
      Prepare;
      Open;
      // Código X aquí
    finally
      Free
    end;
end;

A tener algo como:

Código Delphi [-]
unit MyFunctions;

interface

uses
  Classes, DB;

function CreateQuery(SQLStr: string): TQuery;

implementation;

function CreateQuery(SQLStr: string): TQuery;
begin
  Result := TQuery.Create(nil);
  with Result do
  begin
    SQL.Text := SQLStr;
    Prepare
  end
end;

end.


unit Form1;

interface

// ...

implementation

uses MyFunctions;

procedure TForm1.Button1Click(Sender: TObject);
begin
  with CreateQuery('select * from tabla1') do
    try
      Open;
      // Código X
    finally
      Free
    end;
  with CreateQuery('select * from tabla2 where campo1 = 5') do
    try
      Open;
      // Código X
    finally
      Free
    end
end;

end.

Ves la diferencia?

Me ahorré declarar 2 variables y re-escribir bastante código...


Saludos...
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Aplicacion carga muchas fichas en memoria. zugazua2001 Varios 4 06-09-2005 17:40:41
cxGrid opcion dejar todo el resultado en memoria?? sakuragi OOP 0 26-07-2005 16:38:27
Incluir DLL en Ejecutable senpiterno Varios 1 24-01-2005 13:39:03
error al incluir bde en el uses arc22 Conexión con bases de datos 1 28-06-2004 09:53:06


La franja horaria es GMT +2. Ahora son las 23:11:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi