Hispalazarus


Foro de Lazarus & Free Pascal



Dcumentación Lazarus  -   Club Lazarus   -   Allegro.pas   -   Planeta Lazarus   -  Lazarus bugtracker  -    Feed RSS

Foro accesible desde  http://hispalazarus.mi-web.es    http://hispalazarus.visitame.es    www.forolazarus.tk     www.hispalazarus.tk

zeos7, store procedure y firebird error -501

Cualquier tema que nos surja en el uso de Lazarus y/o Freepascal.

zeos7, store procedure y firebird error -501

NotaAutor: pbruccoleri el Mar Feb 09, 2010 12:01 am

(escenario: win vista, firebird 2.1.3, Lazarus 0.9.29 r23650 FPC 2.5.1 i386-win32-win32/win64 y zeos7 del svn)
Hola a todos...
Tengo creado un store procedure que inserta un registro en una tabla. El procedimiento funciona bien porque lo ejecuto desde IBExpert sin errores.
Tiene 6 parámetros que son los campos de la tabla.
Coloqué en el form de ingreso de datos un componente TZStoredProc, asigné el nombre, la conexión..y agregué 6 parámetros, uno por cada uno que tiene el sp. Al dar aceptar en ese form, donde grabo los datos, quiero que se ejecute ese sp. (pongo cq valor para guardar a ver que pasa)

En el código hago esto:
spAgregarMesa.ParamByName('codigo').AsInteger := StrToInt(nromesa_edt.Text);
spAgregarMesa.ParamByName('total').AsFloat := 0.00;
spAgregarMesa.ParamByName('codmozo').AsInteger := 1;
spAgregarMesa.ParamByName('impresa').AsString:= 'N';
spAgregarMesa.ParamByName('serie').AsString:= '';
spAgregarMesa.ParamByName('comp').AsInteger:= 0;
spAgregarMesa.ExecProc;
El asunto es que si inserta los datos, pero me tira un error en la sentencia execproc: "Error code -501. Attemp to reclose a closed cursor. the cursor identified in a FETCH or CLOSE statement is not open".

Alguna pista?
muchas gracias..
pbruccoleri
 
Mensajes: 13
Registrado: Sab May 23, 2009 3:28 am

Re: zeos7, store procedure y firebird error -501

NotaAutor: pbruccoleri el Mar Feb 09, 2010 2:42 am

Efectivamente el componente TZStoredProc tiene algún problema.. Probé de usar un TZReadOnlyQuery

connection: the connection
params: (add 6 params)
sql: EXECUTE PROCEDURE AGREAR_MESA (:codigo, :total, :codmozo, :impresa, :serie, :comp)

entonces.... al hacer esto:
qryAgregarMesa.ParamByName('codigo').AsInteger := StrToInt(nromesa_edt.Text);
qryAgregarMesa.ParamByName('total').AsFloat := 0.00;
qryAgregarMesa.ParamByName('codmozo').AsInteger := 1;
qryAgregarMesa.ParamByName('impresa').AsString:= 'N';
qryAgregarMesa.ParamByName('serie').AsString:= '';
qryAgregarMesa.ParamByName('comp').AsInteger:= 0;
qryAgregarMesa.ExecSQL;

funciona OK, no da el error de firebird -501..
Sería bueno que alguna vez se pudiera usar el componente TZStoreProc que para eso fué hecho :)
byeeeeeeeee
pbruccoleri
 
Mensajes: 13
Registrado: Sab May 23, 2009 3:28 am

Re: zeos7, store procedure y firebird error -501

NotaAutor: userlazarus el Mar Feb 09, 2010 9:53 am

Hola,
Puedes reportar el error aquí
userlazarus
Site Admin
 
Mensajes: 134
Registrado: Lun Mar 31, 2008 3:24 pm

Re: zeos7, store procedure y firebird error -501

NotaAutor: pbruccoleri el Mar Feb 09, 2010 4:35 pm

ok... de todas formas, ya escribí en el foro de zeos, y me pidieron los logs para investigar..
pbruccoleri
 
Mensajes: 13
Registrado: Sab May 23, 2009 3:28 am


Volver a Programando

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados




pillateunlinux  Nhopkg   

Estadisticas y contadores web gratis