Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-04-2012
Avatar de darkbits
darkbits darkbits is offline
Miembro
 
Registrado: may 2006
Posts: 280
Poder: 21
darkbits Va por buen camino
problema insert edit con con valores NULL

un saludo prestigioso foro
estos trabajando en D6 con Inbertabe 6
tengo una tabla "almacen"
id_al (es llave primaria y autoincremente)
cb_al varchar (acepta null)
producto_al varchar( not null)
detalle_al varchar (not null)

tengo 3 dificultades que no puedo dar solucion
1.- cuando inserto no me llega a guardar en la DB me pide que id_al tenga un valor pero yo lo estoy colocando "autoincremento" cuando lo coloco manual si funciona pero mi idea es que se incremente automaticamente
2.- el campo cb_al aveces no coloco valor por eso lo dije que "acepte null" y en la base de datos de interbase me aparece NULL y cuando quiero editar o leer ese valor me da ERROR mi aplicacion me dice campo cb_al es NULL si a ese campo yo le doy un espacio ya n es null y lee y edita bien

necesito que se incremente automaticamente al insertar
y en el campo cb_al como puedo insertar grabar un espacio o solucionar la lectura para edit y me permita trabajar sin salir error de NULL

con esta consulta inserto, pero no inserta porque me pide id_al que es la llave principal y esta en la DB como autoincremento
Código SQL [-]
_DM.tabla1.Insert;
       _DM.tabla1.FieldByName('cb_al').Value:= edit1.text;
       _DM.tabla1.FieldByName('producto_al').Value:= ComboBox1.text;
       _DM.tabla1.FieldByName('detalle_al').Value:= edit2.text;
       _DM.tabla1.UpdateStatus;
       _DM.tabla1.Post;

y con esta edito me da ERROR porque aveces el campo cb_al es vacio o null como dice interbase

Código SQL [-]
  _DM.consulta1.SQL.Text:= 'Select * From almacen Where id_al='+DBedit1.text ;
          _DM.tabla1.Open;
          _DM.tabla1.Edit;
       _DM.tabla1.FieldByName('cb_al').Value:= edit1.text; // cuando el valor es vacio o null me da error
       _DM.tabla1.FieldByName('producto_al').Value:= ComboBox1.text;
       _DM.tabla1.FieldByName('detalle_al').Value:= edit2.text;
       _DM.tabla1.Post;
       _DM.tabla1.Active:= false; // para actualizar la tabla apago
       _DM.tabla1.Close;
       _DM.tabla1.Active:= true; // enciendo para actulizar la tabla
Responder Con Cita
  #2  
Antiguo 27-04-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is online now
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
¿Cómo tienes creado el "autoincremento"?
Responder Con Cita
  #3  
Antiguo 27-04-2012
Avatar de darkbits
darkbits darkbits is offline
Miembro
 
Registrado: may 2006
Posts: 280
Poder: 21
darkbits Va por buen camino
lo tengo creada por un triggers
cuando ingreso a la DB e inserto datos manualmente funciona de maravilla incrementa id_al automaticamente
en D6 estoy insertando por tabla y me pide id_al

mis 2 preguntas cuando pruebo manualmente funciona pero cuando inserta Delphi no
Responder Con Cita
  #4  
Antiguo 27-04-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is online now
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Puedes configurarle en el componente que uses, dependiendo del que sea
De todas formas, tienes una opción fácil, dale siempre un valor, por ejemplo, cero.
Responder Con Cita
  #5  
Antiguo 27-04-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 15
MartinS Va por buen camino
Hola: Podrias poner aqui el codigo del Trigger?

Saludos
Responder Con Cita
  #6  
Antiguo 27-04-2012
Avatar de darkbits
darkbits darkbits is offline
Miembro
 
Registrado: may 2006
Posts: 280
Poder: 21
darkbits Va por buen camino
triger
Código SQL [-]
as
begin
  if (new.id_al is null) then
    new.id_al = gen_id(gen_almacen_id,1);
end
Responder Con Cita
  #7  
Antiguo 27-04-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is online now
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Seguramente usas IBX, creo recordar que tiene una propiedad "required", cambia a false.
Responder Con Cita
  #8  
Antiguo 27-04-2012
Avatar de darkbits
darkbits darkbits is offline
Miembro
 
Registrado: may 2006
Posts: 280
Poder: 21
darkbits Va por buen camino
required ?
o la propiedad NOT NULL?
Responder Con Cita
  #9  
Antiguo 27-04-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is online now
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por darkbits Ver Mensaje
required ?
o la propiedad NOT NULL?
Te hablo de memoria, seguramente es esa propiedad.
Responder Con Cita
  #10  
Antiguo 27-04-2012
Avatar de darkbits
darkbits darkbits is offline
Miembro
 
Registrado: may 2006
Posts: 280
Poder: 21
darkbits Va por buen camino
si estoy trabajando en IBX
a id_al que es llave principal y tiene el autoincremento lo quite NOT NULL y ahora si funciona inserta sin problema
solo me falta solucionar los campos que no asigno valor se quedan NULL
y cuando quiero leer me da error porque dice que es valor nullo

gracias por su ayuda
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
Consulta con valores null Luis M. Firebird e Interbase 15 11-03-2012 00:06:56
Ayuda con valores no null en FIREBIRD 2.1 Jose Roman Firebird e Interbase 11 14-01-2009 13:44:36
Insert con DataControls campos Not Null geolife MySQL 6 11-07-2008 12:40:29
Duda sobre valores null Inmi Conexión con bases de datos 2 24-09-2007 17:21:27
Problema con Valores Null crc SQL 10 20-09-2007 16:53:44


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


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