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 16-09-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
campo ID debe tener un valor

Hola a todos!!

Tengo un bd con firebird 2.0 en forma resumida esta es una de las tablas:

Código SQL [-]
CREATE GENERATOR CONSECUTIVO;

SET GENERATOR CONSECUTIVO TO 0;
 
CREATE TABLE PRODUCTOS (
    ID             INTEGER NOT NULL,
    CODIGO         CADENAS10 NOT NULL,
    NOMBRE         CADENAS50,
    PRESENTACION   CADENAS50,
    COSTOCOMPRA    PRECIOS,
    COSTOVENTA     PRECIOS,
    OBSERVACIONES  BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET ISO8859_1
);
 
ALTER TABLE PRODUCTOS ADD CONSTRAINT UNQ1_PRODUCTOS UNIQUE (CODIGO);
 
ALTER TABLE PRODUCTOS ADD CONSTRAINT PK_PRODUCTOS PRIMARY KEY (ID);
 
/* Trigger: PRODUCTOS_BI */
CREATE TRIGGER PRODUCTOS_BI FOR PRODUCTOS
ACTIVE BEFORE INSERT POSITION 0
as
begin
  if (new.id is null) then
    new.id = gen_id(consecutivo,1);
end
^

Como se ve, el campo ID es autonumerico (bueno..trata se serlo) uso un trigger y un generador.

Desde mi formulario al presionar el boton de aceptar (post - dbNavigator) me regresa un mensaje de error diciendome que el campo "ID debe de tener un valor" ¿¿y eso??

Se agradece la ayuda.
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #2  
Antiguo 16-09-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola FGarcia, ¿Que componentes empleas y como lo estás enlazando?
Yo no tengo Firebird 2.0, yo trabajo con la 1.5.3 Problema de la versión no es, muy seguramente.
Me gustaría que nos describieras más detalles del caso. Y en lo posible que dieras a conocer el error exacto que te arroja.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 16-09-2008
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Poder: 22
lbuelvas Va por buen camino
Si estas trabajando con los componentes IBX, debes cambiar la propiedad Required (campo requerido) del campo ID del IBDataset a falso.

Esto es para que Delphi no pida el campo y mande la demas informacion a la base de datos y ella sea la que asige el consecutivo.

!!! Y me faltan 3 !!!
__________________
Luis Fernando Buelvas T.
Responder Con Cita
  #4  
Antiguo 17-09-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Con eso de los festejos y la noticia del atentado en la Cd. de Morelia ya no regrese para aca hasta ahora (pa' desgracia y verguenza sin una gota de alcohol!! pero eso si con un buen pozole en la barriga).

Delphius y lbuelvas estoy usando Firebird 2.0 delphi 7 y los componentes IBX version 6. El mensaje de error es solo eso "Field ID must have a value".

Para todo el foro o los que lean estemensaje si alguien tiene contacto con Al Gonzalez y Cheche y sabe como se encuentran por favor comenten.
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #5  
Antiguo 17-09-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Ummm... ¿ya probaste lo que comentó lbuelvas? Si aún asi te sale ese error, tendré que probar... me parece extraño.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 17-09-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Pues si.. ya probe y el error continua

---------------------------
Debugger Exception Notification
---------------------------
Project ABMPrueba.exe raised exception class EDatabaseError with message 'Field 'ID' must have a value'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #7  
Antiguo 17-09-2008
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Poder: 22
lbuelvas Va por buen camino
Adjunta un archivo con un el DataModulo desde donde te conectas a la base de datos y donde esta el Dataset para colaborarte.
__________________
Luis Fernando Buelvas T.
Responder Con Cita
  #8  
Antiguo 17-09-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
joder!
que el asunto esta asi, tenia declarado en el Command Text editor del IBDataSet:

Código SQL [-]
select * from PRODUCTOS

Lo he cambiado por:

Código SQL [-]
select Nombre, Presentacion, Costo from PRODUCTOS

Y ha funcionado OK, Me permite la insercion de datos correctamente. Aunque aun no entiendo el porque. Ya habia declarado que el campo ID no era requerido.


un misterio para la araña!
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #9  
Antiguo 01-10-2008
pato_galla pato_galla is offline
Registrado
 
Registrado: mar 2008
Posts: 1
Poder: 0
pato_galla Va por buen camino
Solucion 2

A mi me paso algo similar... la solucion fue hacer lo que dijo lbuelvas pero desde codigo, ya que no se por que razon, cuando iniciaba el programa, se volvia a seter required en true otra vez... puede ser que sea por algun valor por defecto cuando seteaba la db en active, en fin, esa fue mi solucion, y muy util la respuesta de lbuelvas!
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
Insertar Valor a Campo VeLiuS MySQL 1 12-02-2008 01:27:04
¿Un ladrón debe tener 100 años de perdón? Robert01 La Taberna 21 02-09-2007 00:19:40
error, el índice o la clave principal no puede tener un valor null locorez Varios 3 15-12-2006 04:40:42
Como tener en un DBGrid un campo lookupComboBox como los del ObjectInstpector ? jpablor Conexión con bases de datos 1 29-08-2005 16:05:52
UPDATE de un campo dependiendo del valor de un campo de otra tabla Javi2 SQL 5 18-04-2005 16:35:05


La franja horaria es GMT +2. Ahora son las 20:44:47.


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