Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Error 1264 SQL out of range value al guardar con Delphi
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Error 1264 SQL out of range value al guardar con Delphi

Publicar nuevo tema Responder al tema
Foros de discusión » MySQL Server, MySQL Client, motor de bd gratuito   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Error 1264 SQL out of range value al guardar con Delphi Responder citando

Estoy desarrollando una aplicación de Contabilidad y Facturación para mi empresa con Borland Delphi 6 como lenguaje de programación y MySQL como base de datos, para la conexión nativa uso los componentes gratuitos ZeosLib.

Me funciona bien, sólo que tengo un procedimiento en donde hago un INSERT INTO ... con el TZQuery y me aparece este error:

---------------------------
Información
---------------------------
Se ha producido un error al intentar guardar el registro:

1264 -> SQL Error: Out of range value for column 'codigo_factura' at row 1
---------------------------
Aceptar
---------------------------


¿A qué puede ser debido?
MensajePublicado:
Jue Sep 30, 2010 5:18 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Error 1264 SQL out of range value al guardar con Delphi Responder citando



Anuncios



varios escribió:
Estoy desarrollando una aplicación de Contabilidad y Facturación para mi empresa con Borland Delphi 6 como lenguaje de programación y MySQL como base de datos, para la conexión nativa uso los componentes gratuitos ZeosLib.

Me funciona bien, sólo que tengo un procedimiento en donde hago un INSERT INTO ... con el TZQuery y me aparece este error:

---------------------------
Información
---------------------------
Se ha producido un error al intentar guardar el registro:

1264 -> SQL Error: Out of range value for column 'codigo_factura' at row 1
---------------------------
Aceptar
---------------------------


¿A qué puede ser debido?


¿Qué tipo de datos (data type) tiene el campo "codigo_factura"?
MensajePublicado:
Jue Sep 30, 2010 5:19 am
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Re: Error 1264 SQL out of range value al guardar con Delphi Responder citando



Anuncios



alonsojpd escribió:
¿Qué tipo de datos (data type) tiene el campo "codigo_factura"?


Es de tipo INTEGER (INT) UNSIGNED, el SQL que utilicé para crearla:

Código:

CREATE TABLE factura (
  codigo_factura int(10) unsigned NOT NULL AUTO_INCREMENT,
  numero varchar(100) NOT NULL DEFAULT '',
  codigocliente int(10) unsigned DEFAULT NULL,
  observacion varchar(150) DEFAULT NULL,
  codusuarioa int(10) unsigned DEFAULT NULL,
  codusuariom int(10) unsigned DEFAULT NULL,
  fechaa datetime DEFAULT NULL,
  fecham datetime DEFAULT NULL,
  PRIMARY KEY (`codigo`),
  UNIQUE KEY `familia_nombre` (`nombre`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1'
MensajePublicado:
Jue Sep 30, 2010 5:25 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Error 1264 SQL out of range value al guardar con Delphi Responder citando



Anuncios



varios escribió:

Es de tipo INTEGER (INT) UNSIGNED, el SQL que utilicé para crearla:


Normalmente, el error 1264 -> SQL Error: Out of range value for column 'xxx' at row xxx suele ser debido a que estás intentando insertar un valor en una columna que excede el rango del tipo de datos.

En tu caso, si codigo_factura es un INT UNSIGNED, no podrás introducir, por ejemplo, en este campo valores negativos. Intenta poner un punto de interrupción antes del INSERT que nos comentas en Delphi para ver qué valor estás intentado asignar al campo "codigo_factura".


Ultima edición por alonsojpd el Jue Sep 30, 2010 5:36 am, editado 1 vez
MensajePublicado:
Jue Sep 30, 2010 5:29 am
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Re: Error 1264 SQL out of range value al guardar con Delphi Responder citando



Anuncios



alonsojpd escribió:
Normalmente, el error 1264 -> SQL Error: Out of range value for column 'xxx' at row xxx suele ser debido a que estás intentando insertar un valor en una columna que excede el rango del tipo de datos.

En tu caso, si codigo_factura es un INT UNSIGNED, no podrás introducir, por ejemplo, en este campo valores negativos. Intenta poner un punto de interrupción antes del INSERT que nos comentas en Delphi para ver qué valor estás intentado asignar al campo "codigo_factura".


¡¡Muchas gracias!! efectivamente estaba insertando un -1.

¿Cómo puedo saber los rangos de cada tipo de datos de MySQL Server?
MensajePublicado:
Jue Sep 30, 2010 5:36 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Error 1264 SQL out of range value al guardar con Delphi Responder citando



Anuncios



varios escribió:
alonsojpd escribió:
Normalmente, el error 1264 -> SQL Error: Out of range value for column 'xxx' at row xxx suele ser debido a que estás intentando insertar un valor en una columna que excede el rango del tipo de datos.

En tu caso, si codigo_factura es un INT UNSIGNED, no podrás introducir, por ejemplo, en este campo valores negativos. Intenta poner un punto de interrupción antes del INSERT que nos comentas en Delphi para ver qué valor estás intentado asignar al campo "codigo_factura".


¡¡Muchas gracias!! efectivamente estaba insertando un -1.

¿Cómo puedo saber los rangos de cada tipo de datos de MySQL Server?




Aquí tienes más información sobre los tipos de datos y los rangos que soportan cada uno en MySQL:

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=423

En concreto, el INT UNSIGNED admitirá valores de 0 a 4294967295.
MensajePublicado:
Jue Sep 30, 2010 5:37 am
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » MySQL Server, MySQL Client, motor de bd gratuito  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A