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 06-01-2007
Avatar de TrUnkS
TrUnkS TrUnkS is offline
Miembro
 
Registrado: dic 2005
Posts: 93
Poder: 19
TrUnkS Va por buen camino
Question Extraño comportamiento de Firebird 2.0

Hola amigos. Quisiera comunicar un comportamiento extraño de este servidor, o no se si es por Delphi u otra cosa pero hace poco tiempo que estoy con Firebird y de pronto cambio su comportamiento. Uso Delphi 7 Second Edition Professional, componentes IBExpress (IBDataSet), IBExpert Personal Edition y Firebird 2.0.
Resulta que tengo solo 2 formas de que se provoque una excepción en el servidor, una por clave duplicada y otra cuando hay campos nulos en tablas Maestro/Detalle. Resulta que cuando trato de insertar un registro en el detalle y me faltan datos para el maestro en una misma transacción, en el momento de hacer Post en el maestro deberia producirse una excepcion por campo nulo ya que faltan datos de la tabla maestra que me impiden ingresar un nuevo registro en el detalle. En el evento OnPostError de la tabla maestra capturo la excepción para que cuando sea clave duplicada me aparezca un mensaje, y cuando falten campos por ingresar me aparezca otro mensaje. Es decir:
Código Delphi [-]
procedure TFDM.IBDataSetPostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
case EIBError(E).IBErrorCode of
  ISC_UNIQUE_KEY_VIOLATION:
   begin
    ShowMessage('EL CLIENTE YA EXISTE EN LA BASE DE DATOS');
    Action:=daAbort;
   end
  else
   begin
    ShowMessage('DEBE LLENAR TODOS LOS CAMPOS');
    Action:=daAbort;
   end;
 end;
end;

Incluyo en el DataModulo las librerias IB, IBErrorCodes.

El problema es que anteriormente me funcionaba de maravilla, me aparecian los mensajes y el cursor se quedaba en el campo que faltaba por rellenar, pero ahora aparece este mensaje:
' Cannot focus a disabled or invisible windows' y el sistema se bloquea. Ahora al parecer ya no captura la excepción o no se que pasa. Pero cuando inicio de nuevo la aplicacion y lleno todos los campos de la maestra todo esta normal y me deja insertar registros en el detalle. Agradecería algún comentario si alguien me pudiera ayudar gracias.

Última edición por TrUnkS fecha: 06-01-2007 a las 05:09:32.
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
Comportamiento extraño de DisplayFormat Thales Conexión con bases de datos 0 02-12-2005 21:56:32
Un comportamiento extraño en delphi... uper Varios 1 07-08-2004 00:44:14
Comportamiento extraño dataModule brandolin OOP 9 08-07-2004 14:25:47
Comportamiento extraño con InnoBD brandolin MySQL 0 20-10-2003 14:34:09
Comportamiento extraño de cds con dbExpress mosorio Varios 0 01-09-2003 17:11:38


La franja horaria es GMT +2. Ahora son las 07:21:06.


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