Club Delphi  
    Paypal   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
  #3  
Antiguo 21-07-2008
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 585
Poder: 23
santiago14 Va por buen camino
Red face ID en firebird

Una manera sencilla sería poner un generador para el identificador.
Y en el trigger before insert llamarlo y obtener el id.

Otra manera, creo yo mas razonable, es desde el código delphi hacer la cosa en dos pasos.
Lo primero sería un select buscando el último nro de ID ingresado, a ver:

...iniciamos la transaccion y todo eso.

Código SQL [-]
Nueva_ID = select max(id) + 1 from tabla

Luego, con eso ya podemos hacer el insert sin problemas:
Código Delphi [-]
with query do
begin
  close;
  sql.clear;
  sql.add('Insert into tabla values (:ID, :campo2, ...)');

  parambyname('ID').asInteger:=Nueva_ID
  try
    execSQL;
  except
    raise;
  end;
end;

...terminamos la transacción y listo.
Por último, eso de no tener clave primaria en una tabla no es bueno, procura siempre tenerla.

Espero te sirva. Esto no es lo mejor pero funciona bastante bien.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.

Última edición por santiago14 fecha: 21-07-2008 a las 19:03:13. Razón: Me faltó el "+ 1" en el Select
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
Orden en una hoja vivamotos Servers 0 10-04-2008 09:18:53
Orden de los Campos en una Tabla sinalocarlos MS SQL Server 3 21-11-2006 20:34:28
Ordenar (ch ll ) tabla dbase por orden alfabetico latino universal javi90 Conexión con bases de datos 0 16-02-2005 18:34:39
Consulta SQL para cambiar el orden natural de los campos de una tabla txemag Firebird e Interbase 4 23-07-2004 19:15:08
Urgente. insercion en tabla de SQL sin orden asendente? danytorres SQL 5 19-12-2003 23:08:18


La franja horaria es GMT +2. Ahora son las 03:25:16.


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