[Lazarus-es] DBControls, usar o no usar

Jose Antonio Cuello josea en artextrading.com
Mar Jul 28 09:01:05 CEST 2009


Hola, estoy usando la versión 6.51 de ZeosLib y no me ha dado problemas 
con los campos float o double precision. Los uso por costumbre, empecé a 
usarlos con Delphi cuando dejé de usar el BDE hace ya unos años y 
siempre me ha convencido su conectividad. Primero usaba firebird y ahora 
postgresql y los Zeos con sólo cambiar el "protocolo" del TZConection me 
funcionaba toda la aplicación.

Respecto a como pasar los datos de un formulario a otro pongo como lo 
hago yo pero no es ni mucho menos la única. Yo uso un array de una 
estructura record con el nombre de campo y su valor, de esta manera si 
necesito ampliar los datos a enviar simplemente modifico el record. 
Durante un tiempo me pasaba el puntero del dataset "padre" y en el 
formulario de edición recogía los valores que quería pero luego lo 
cambié ... no recuerdo el problema en concreto que tuve ...

Esto es el procedimiento de llamada al formulario de edicion
function TMant_Articulos.EditCard: Boolean;
Var aKeys: 
TAxKeysForm;                                                           
// (Esto es un record con field: String y Value: Variant)
begin
  inherited;
  try
    SetLength( aKeys, 2 );
    aKeys[0].Field:= 'CodEmpresa';
    aKeys[0].Value:= Query.FieldByName('CodEmpresa').asString;
    aKeys[1].Field:= 'CodArticulo';
    aKeys[1].Value:= Query.FieldByName('CodArticulo').asString;

    Result := (TArticulos.Execute( afEdit, aKeys ) = 
mrOk);                               // (Esta es la llamada al 
formulario de edicion)
    if Result and Query.Active then RefreshQry(Query);
  finally
    SetLength( aKeys, 0 );
  end;
end;

Esto es el procedimiento del formulario de edicion
class function TFCard_Articulos.Execute( FormAction: TActionForm; Keys: 
TAxKeysForm ): Integer;
Var
  x: Integer;
  vForm: TFCard_Articulos;
begin
  vForm := TFCard_Articulos.Create( nil );
  with vForm do
    try
      PrepareQry( Keys 
);                                                                               
// Pass params to SQL Sentences
      ActionForm := FormAction;                      
                                           
      if (FormAction = afNew) and (Length( Keys ) > 0) 
then                    // (Esto es por si es una alta y se pasan 
valores ya introducidos)
      begin
        For x := 0 to Length( Keys ) - 1 do
          Query.FieldbyName(Keys[x].Field).Value := Keys[x].Value;
      end;
     
      Result := ShowModal;
      if Result = mrOk 
then                                                     // Reload keys 
value from user entry
        For x := 0 to Length( Keys ) - 1 do
          Keys[x].Value := Query.FieldbyName(Keys[x].Field).Value;
    finally
      FreeAndNil(vForm);
    end;
end;

> Message: 7
> Date: Mon, 27 Jul 2009 10:15:21 -0300
> From: Paola Bruccoleri <pbruccoleri en adinet.com.uy>
> Subject: Re: [Lazarus-es] DBControls, usar o no usar
> To: Spanish version of Lazarus List
> 	<lazarus-es en lists.lazarus.freepascal.org>
> Message-ID: <49B00E1F0669BF8F@> (added by postmaster en adinet.com.uy)
> Content-Type: text/plain; charset="iso-8859-1"; format=flowed
>
> Hola José..
>
> At 07:08 27/07/2009, you wrote:
>   
>> >Hola, yo los uso masivamente y no dan problemas. 
>> >Evito editar en el grid y abro un formulario de 
>> >edición con dbcontrols pero no uso el Dataset 
>> >del grid sinó que me "envio" la clave o datos 
>> >identificativos del registro a editar y hago un 
>> >select nuevo de sólo el registro a editar en un 
>> >nuevo dataset. De esa manera me está funcionando correctamente y sin problemas.
>>     
>
> 2 preguntas.. ¿cómo te enviás la clave del 
> registro a editar? usando propiedades? puedes poner un ejemplo?
> y después de cerrar el form de edición, cómo actualizas los datos del dbgrid?
>
>   
>> >Uso ZQuery y ZUpdate para indicar el select, update, delete e insert ...
>>     
>
> que versión de zeos usas? porque la vers 6.6.5 me 
> da problemas con los campos con decimales en 
> mysql, y parece que en firebird tb. Además, en la 
> lista de lazaruz-br han comentado problemas similares..
> ya como que quiero abandonarlos!!!
> chauuuuuuuuuuuuuu
>
> =======================
> A/P Paola Bruccoleri Arrambide
> San José de Mayo - San José - URUGUAY
>
> Blog: http://paolabruccoleri.reducativa.com
> Portal Educativo: http://www.reducativa.com.uy
> Material 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
>   





More information about the Lazarus-es mailing list