[Lazarus-es] apertura de tablas

Fredy Gonzales fredyg1965 en gmail.com
Mar Jun 16 00:06:26 CEST 2009


Hola,

La forma como lo trabajo yo es tambien creando dataset desde el Modulo de 
Datos.

En los formularios solo coloco los DataSource, enlazados dataset que halla 
establecido.

A Nivel de DataSet, siempre utilizo los TZReadOnly, para presentacion de 
datos o algo por listar o buscar, para lo que es mantenimiento de datos uso 
los TZQuery con parametro para la consulta individual.

Digamos si tengo un formulario clientes, entonces tengo dos dataset , uno de 
solo lectura y el otro para mantenimiento.

Porque dos?

Esto me das mejor entendimiento a nivel programacion y no me muelo el 
cerebro recordando para que coloque este TZQuery.

Espero te ayude en algo.

Saludos.

FG


----- Original Message ----- 
From: "Paola Bruccoleri" <pbruccoleri en adinet.com.uy>
To: <lazarus-es en lists.lazarus.freepascal.org>
Sent: Monday, June 15, 2009 4:28 PM
Subject: [Lazarus-es] apertura de tablas


Hola a todos nuevamente..

Se me ha presentado otra situación, y me gustaría
ver cómo lo resuelven Uds, ya que son mucho más
experimentados que yo en este lenguaje..
Estoy usando los componentes Zeos.
En un datamodule coloqué el zconnection.
En cada form pongo los componentes ttables o tquerys que necesito.
Pero, hay forms que llaman a otros donde se usa
la misma tabla en ambos: por ejemplo en el caso
de un form de facturación y en el de busqueda de
clientes. Puede ser un ttable o un tquery, no sé...
Claro que en el ejemplo que puse, podría haber
puesto un tquery vacío en el form de facturación,
que se ejecutara desde código con el cliente elegido en la busqueda...

En el código que compartió Joshy:

begin
[...]
    ElCodigoDeCliente:=-1; //Valor inválido.
    try
      BuscaCliente:=TfrmBuscaCliente.Create(Self);
      if BuscaCliente.ShowModal<>mrCancel then begin
         ElCodigoDeCliente:=BuscaCliente.IDCliente;
      end else begin
         //Se ha cancelado la búsqueda
         Exit; //Por ejemplo.
      end;
    finally
      FreeAndNIL(BuscaCliente); //Libera el formulario.
    end;
[...]
end;


donde:
function frmBuscaCliente.GetIDCliente(): Integer;
begin
Result:=Dataset.FieldByName('CLIENTID').asInteger;
end;

en este caso, no podía abrir la tabla en la
busqueda y cerrarla al salir, porque salta error
al obtener el IDCliente porque obvio que cuando
llegó allí, la tabla ya se cerró..

Pero a su vez, el form de busqueda puede abrirse
independientemente de si fue llamado desde otro
lado, por ej, si se necesita buscar un dato cualquiera

bueno, espero se haya entendido la cuestión
muchas gracias
chauuuuuuuuuuuuu
=======================
A/P Paola Bruccoleri Arrambide
San José de Mayo - San José - URUGUAY

Blog: http://paolabruccoleri.reducativa.com
Portal Educativo: http://www.reducativa.com.uy
Wiki: http://wiki.reducativa.com
Material sobre las XO:
http://www.reducativa.com/wiki/index.php?title=Proyecto_OLPC_-_Plan_Ceibal
Cartillas XO Sugar 8.2:
http://www.reducativa.com/wiki/index.php?title=Cartillas_sobre_uso_de_la_XO


_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es 





More information about the Lazarus-es mailing list