[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