PDA

Ver la Versión Completa : error de rango -32768 to 32767


ALMERA
01-11-2003, 12:36:54
Hola amigos del foro.
Mi problema es el siguiente tengo que meter un valor numerico en una tabla interbase, dialecto 3, en un campo de tipo entero, el valor que tengo que meter en la tabla es 49385, este valor está dentro del tipo integer de interbase, pq he probado a meter el valor directamente en la probia base de datos y acepta hasta billones, pero desde mi código de delphi escribo nombretabla.fieldbyname('DIRECCION').asinteger:= 49385 y me da un error de fuera de rango, ¿como puede solucionarse esto?.
he probado con los componentes ibx y freeib plus y nada.
Muchas gracias de antemano.

marcoszorrilla
01-11-2003, 16:10:49
Mira el TiBTable o el componenete que utilices, haz dobleclic sobre el y pulsa en agregar todos los campos, y fíjate de que manera lo está manipulando, probablemnete lo tome como SmallInt de ahí el error de rango.

Aunque más bien me inclino a pensar que está declarado como Smallint.

Otra cosa en IbDatabase también le indicas SqlDialect 3.

Finalmente, me he dado cuenta que has hecho la misma pregunta dos veces, debes leerte la Guia de estilo de los Foros y verás que la pregunta se hace solamente una vez, si se tiene dudas de en que Foro, como en este caso "Conexión con Bases de Datos" e "Interbase y Firebird", y que en un principio puede encajar en ambos, se decide por uno de ellos solamente.


Un Saludo.

ALMERA
01-11-2003, 19:22:30
Gracias por tu respuesta, he estado investigando, y efectivamente estaba declarado en la base de datos como smallint, mi confusión ha venido porque desde el ibexpert introducía valores mayores a los del rango y se los tragaba, por eso no me paré a pensar que la pega estaba en la declaración.
pido disculpas por haberlo publicado en los dos foros, es que como encajaba en estos dos temas de foros, pues decidí publicarlo en los dos, la proxima vez lo haré en uno solo.
Gracias por todo.
Saludos.