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

Respuesta
 
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
  #2  
Antiguo 06-01-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Cannot focus a disabled or invisible windows Este error, no tiene nada que ver con Firebird, sino con alguna ventana o control que está desactivado o no visible, y por lo tanto no puede obtener el foco...

Cita:
El problema es que anteriormente me funcionaba de maravilla
Debemos entender que antes utilizabas una versión anterior de Firebird... ??

Yo estoy también con la versión DOS, y hasta el momento lo único que he encontrado han sido gratas sorpresas, tales como las extensiones que incorpora....

Saludos
Responder Con Cita
  #3  
Antiguo 06-01-2007
Avatar de TrUnkS
TrUnkS TrUnkS is offline
Miembro
 
Registrado: dic 2005
Posts: 93
Poder: 19
TrUnkS Va por buen camino
Tengo mis dudas

Hola. Gracias por tu comentario Ardilla. He buscado en el foro todo referente a este mensaje y no he solucionado mi problema, pero lo que si he comprobado es que ni siquiera llega al evento OnPostError del DataSet. Lo cierto es que SI estuve utilizando la version 1.5.3 de Firebird, pero bien tu haz dicho que no tiene nada que ver con firebird pero cuando estuve trabajando con él no tenia problemas, ahora con firebird 2.0 tengo ese problema. Lo que me parece extraño es que cree una nueva aplicacion con Firebird 2.0 a modo de prueba y funciona todo bien com quiero y con la misma configuración, ya no se que hacer.

Última edición por TrUnkS fecha: 06-01-2007 a las 07:51:35.
Responder Con Cita
  #4  
Antiguo 06-01-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Bueno pues a la vista de lo que comentas, también hemos de suponer que no se a producido ningún cambio en tu programa, sino que unicamente cambiaste de versión de Firebird
Responder Con Cita
  #5  
Antiguo 06-01-2007
Avatar de TrUnkS
TrUnkS TrUnkS is offline
Miembro
 
Registrado: dic 2005
Posts: 93
Poder: 19
TrUnkS Va por buen camino
Ya lo solucioné

Ya he solucionado el problema formateando mi pc e instalando todo de nuevo solo con Firebird 2.0. Además reconstruí la base de datos por completo con IBExpert. Creo que el problema se radica en el cambio de versiones de Firebird 1.5.3 a Firebird 2.0, pues al registrar y conectar de nuevo la base de datos con 2.0 no me dio confianza. En realidad no se exactamente que es lo que pasó pero una vez reconstruido todo me volvio a la normalidad y sin cambiar una sola linea de codigo. Gracias por la intención Ardilla
Responder Con Cita
Respuesta



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 04:40:01.


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