Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-07-2015
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Problema con un generador

Estoy trabajando con FB 2.5. En una tabla tengo definidos un procedimeinto y un generador de la siguiente forma:

Código:
IbSql->Close();
IbSql->SQL->Text = "CREATE GENERATOR Id_poblacion";
try
{
     IbSql->ExecQuery();
     Query->Transaction->Commit();
}
catch(Exception *Exc)
{
     Query->Transaction->Rollback();
}

IbSql->Close();
IbSql->SQL->Text = "CREATE PROCEDURE Gen_poblacion RETURNS (Codigo INTEGER) AS BEGIN Codigo = GEN_ID(Id_poblacion, 1); END";
try
{
     IbSql->ExecQuery();
     Query->Transaction->Commit();
}
catch(Exception *Exc)
{
     Query->Transaction->Rollback();
}
Al cargar la tabla sobre la que trabaja actualizo el valor del generador así:

Código:
Query->Close();
Query->SQL->Text = "SELECT MAX(Codigo) Codigo FROM Poblacion";
Query->Open();

if (!Query->Transaction->InTransaction)
     Query->Transaction->StartTransaction();

IbSql->Close();
IbSql->SQL->Text = "SET GENERATOR Id_poblacion TO " + FormatFloat("0", Query->FieldByName("Codigo")->AsInteger);
try
{
     IbSql->ExecQuery();
     Query->Transaction->Commit();
}
catch(Exception *Exc)
{
     Query->Transaction->Rollback();
}
Esto me deja un valor, correcto, en el mismo de 58657. Sin embargo si trato de obtener el nuevo valor para una ficha nueva, al ejecutar el TIBStoredProc así:
Código:
spPoblacion->Close();
spPoblacion->UnPrepare();
spPoblacion->Prepare();
spPoblacion->ExecProc();
Poblacion->Tag = spPoblacion->ParamByName("Codigo")->Value;
El valor que me devuelve es el 22779, 22780, etc. en vez de 58658 como debiera ser. Y me tiene total. ¿Alguna idea de que puede estar pasando?
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Resetear generador novaten Conexión con bases de datos 2 08-04-2010 19:15:42
Generador en DBExpress brakaman Conexión con bases de datos 2 27-03-2008 14:58:23
generador de factura megaredoxk Conexión con bases de datos 6 28-11-2007 23:33:31
generador novaten Conexión con bases de datos 1 09-04-2005 21:29:44
Ver un generador Rabata Conexión con bases de datos 4 17-09-2003 15:31:01


La franja horaria es GMT +2. Ahora son las 08:19:42.


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
Copyright 1996-2007 Club Delphi