Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   De MySQL a FB (emebebido) (https://www.clubdelphi.com/foros/showthread.php?t=77201)

AzidRain 02-01-2012 20:26:45

De MySQL a FB (emebebido)
 
Resulta que por mero trabajo Pro-Bono, estoy haciendo una pequeña aplicación de control de caja para la escuela que dirige mi esposa, nada del otro mundo, solo pasar un libro donde registran lo que ingresa y lo que sale. Como no se necesita gran cosa de recursos pense en usar y ya meterme de una vez a conocer FB, esta vez en su version embebida, pues la idea es que sea portable. Ya he conseguido crear las tablas acostumbrarle a los generadores para los campo autoincrementados y otras cosas que FB usa y que en MySQL daba por sentado.

Uso Zeos para conectarme ya que ya los conozco bastante bien y nunca he tenido problema, el detalle es que de vez en vez me aparecen errores que para un bisogno en FB resulta críptico pero para alguno de los tantos expertos que tenemos por aquí, es algo de risa, ya hasta a pense mejor usar MySQL embebido pero es pago (ya hubiera acabado sin duda).

Os pongo un código y explico mi problema:

Código Delphi [-]
rocedure TFEditarMovimiento.Action1Execute(Sender: TObject);
begin
   with Datos.ZMovimiento do
   begin
     Post;
     Datos.ZMovimiento.CommitUpdates;
   end;
   Close;
end;

procedure TFEditarMovimiento.Action2Execute(Sender: TObject);
begin
  with Datos.ZMovimiento do
   begin
     CancelUpdates;
   end;
   Close;
end;

Function TFEditarMovimiento.Editar(fecha: TDateTime; num_nota: Integer):boolean;
begin
  //Esto esta pendiente por hacer
end;

Function TFEditarMovimiento.Nuevo(tipo: Char):Boolean;
begin


  with Datos.ZMovimiento Do
  Begin
    Open;
    Append;
    if tipo='E' then
    Begin
      Caption := 'Capturar Nuevo Egreso';
      Datos.ZConceptos.ParamByName('tipo').AsString := 'E';
      Datos.ZConceptos.Open;
    End
    else
    Begin
      Caption := 'Capturar Nuevo Ingreso';
      Datos.ZConceptos.ParamByName('tipo').AsString := 'I';
    End;
    Datos.ZConceptos.Open;
    ShowModal;
    Datos.ZConceptos.Close;
    Datos.ZMovimiento.Close;
  End;
  Result := ModalResult = mrOk;
end;

No puse la cabecera dela unidad pq es solo una ventana que abre o agrega un registro de una tabla y los botones (aceptar y cancelar [que disparan Action1 y Action2] son los que en teoría guardan o descartan lo capturado. Utilizo una tabla auxiliar conceptos para mostrar un lookupcombo y elegir de una lista.

El form que llama a su vez a esta solamente espera si le contesta si se modificó o agregó el registro para actualizar una tabla y que aparezca cualquier cambio.

El problema que tengo es que si lo ejecuto digamos "Nuevo" una vez me muestra el form y todo en orden, pero posteriormente si trato de volverlo a ejecutar me aparece "convertion error" justo al momento de ejecutar ZMovimiento.Open. El código con algunos cambios (los commits y eso) lo copie de otro que tengo con MySQL que uso como platilla. A ver si alguien me echa una luz..

AzidRain 02-01-2012 20:45:02

Me contesto un poco solo, no será que el problema sean las Zeos? Que otro componente similar puedo ocupar? No me quiero meter con muchos líos pues lo hago por ratos.

AzidRain 02-01-2012 20:55:19

Ay canijo!!! Ahora me salió "pior", quise abrir la conexion dentro del ide para checar campos y nomas me cerro todo el IDE sin aviso ni nada...esto es cosa del demoño, se me hace que mejor que me voy a lo seguro. Esta aplicacioncita debe ser para usuarios que no usan sus pcs más que para el chat o el facebook, ni para pedirles que instalen tal o cual cosa. Que lástima. Pero bueno, a ver si sale algo interesante para aprender.

Casimiro Notevi 02-01-2012 21:51:45

Lo más cómodo es que uses los IBX que trae delphi.
Puedes seguir el minitutorial que escribió Caral, es simple, rápido, cómodo y seguro :D


La franja horaria es GMT +2. Ahora son las 02:10:48.

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