Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-05-2011
auribe auribe is offline
Miembro
 
Registrado: may 2003
Posts: 28
Poder: 0
auribe Va por buen camino
problema con trigger after insert

Hola a todos. Si alguien puede ayudarme con el siguiente problema.
Tengo una aplicacion con una base de datos firebird 2.1 conectada a Delphi 5 atraves del BDE. La aplicacion hasta ahora funciona bien, el caso es que por asunto de rapidez quiero elimnar el BDE y conectarme directamente a la base de datos.

Empece a cambiar los componentes y estoy utilizando los IB que estan en el tab de interbase y no se porque razon los trigger que generan la clave no lo estan haciendo con estos componentes y me dan un error tal como EL CAMPO CTR_TICKET MUST HAVE A VALUE.

El valor de de este campo es primary key y lo genera un trigger BEFORE INSERT de la siguiente manera.

Código SQL [-]
CREATE OR ALTER TRIGGER ANTES_INSERT_TICKET FOR MAESTRO_TICKETS
ACTIVE BEFORE INSERT POSITION 0.
BEGIN
   Select ctr_ticket from secuencia into ctr_ticket 
        if (ctr_ticket is null) then ctr_ticket=0;
        NEW.CTR_TICKET=CTR_TICKET+1;
END;

Nota: Cuando inserto el registro por IB Expert y tambien conectandome a la base de datos por BDE el trigger funciona bien, mas conectandome directo con los componentes IB da el error antes mencionado.

Necesito ayuda...

Última edición por Casimiro Notevi fecha: 17-05-2011 a las 22:32:12.
Responder Con Cita
  #2  
Antiguo 18-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola auribe.

Si estas usando un TIBDataSet o un TIBQuery tenés que especificar el nombre del generador en la propiedad GeneratorField.
Desde el ObjectInspector hacé clic sobre los puntos suspensivos (...) y te abre un cuadro donde ingresas: Nombre del generator, campo al que se se aplica y el evento en que deseas que se aplique.

Lo mismo pero por código:
Código Delphi [-]
  IBDataSet.GeneratorField.Generator:= 'G_CLIENTES';
  IBDataSet.GeneratorField.Field:= 'ID_CLIENTES';
  IBDataSet.GeneratorField.ApplyEvent:= gamOnPost;
  IBDataSet.GeneratorField.IncrementBy:= 1;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 18-05-2011 a las 02:33:31.
Responder Con Cita
  #3  
Antiguo 18-05-2011
auribe auribe is offline
Miembro
 
Registrado: may 2003
Posts: 28
Poder: 0
auribe Va por buen camino
Gracias por responden. Entiendo que la forma que lo haces le estas dejando la tarea a delphi para que realice esta funcion y en mi opinion debe ser tarea de la base de datos.

Existe otra opinion al respecto?

Gracias..
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
problema trigger no se que hago mal elistraus PostgreSQL 2 14-12-2010 16:49:19
problema con TRIGGER Manuel Firebird e Interbase 7 13-09-2006 22:19:56
Trigger Before (Insert,update,delete)? estebanx MS SQL Server 2 25-05-2006 15:58:19
Problema con Insert joanajj Conexión con bases de datos 1 01-05-2006 08:11:40
problema de trigger ronson Firebird e Interbase 3 01-03-2004 18:16:57


La franja horaria es GMT +2. Ahora son las 18:20:04.


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