![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola maeyanes !
Estoy utilizando Firebird 2.1, y no es que haya definido Clave como BigInt, sino tal y como indiqué lo tengo en la BBDD como Decimal(12,0), por lo tanto acepta valores 'BigInt'. El problema era pasarlo como parámetro en otro IBDataSet. Ahí no puedo definir al parámetro como que sea de ningún tipo en concreto, por lo que me lanzaba el error. Y es por ello que me surgió el problema que expuse en este hilo. La única solución que hemos sacado es hacer el Cast a BigInt .... ... o habría otra alternativa ? Yo he probado ya todas las que se me ocurrieron y no tengo forma de resolverlo si no es como aquí se ha indicado.
__________________
Piensa siempre en positivo ! |
|
#2
|
|||
|
|||
|
Hola...
Por eso te pregunto, ¿hay algo que te impida cambiar el tipo de campo a BIGINT? De esta forma te evitarías tener que hacer castings al momento de realizar tus consultas. Saludos... |
|
#3
|
||||
|
||||
|
No he probado lo que me indicas ...
Según tu comentario, si 'defino' directamente el campo en Tabla1 como BigInt en vez de Decimal(12,0), no me va a dar el error al pasarlo como parámetro en el nuevo TIBDataSet ... ?? ![]()
__________________
Piensa siempre en positivo ! |
|
#4
|
||||
|
||||
|
En cualquier caso .... tengo un GRAN número de campos de un GRAN número de tablas, definidas con un Domain 'NV12' (definido a su vez como Decimal(12,0)), y cambiar todas estas definiciones a BigInt ...
... De momento, para el caso particular en el que uso el parámetro para preguntar si es Null, me ha servido la contestación que me habeis dado en este hilo. Gracias una vez más .. ![]()
__________________
Piensa siempre en positivo ! |
|
#5
|
|||
|
|||
|
Hola...
Cita:
Cita:
Saludos... |
|
#6
|
||||
|
||||
|
Cita:
Como dice también Casimiro, generalmente no se suelen utilizar los 12 dígitos que tengo definidos, pero precisamente por eso no me dí cuenta del problema en un nuevo listado que hice hace poco, porque generalmente no se utilizan los 12 dígitos, pero resulta que haciendo pruebas .... sí que suelo hacerlas con 12 dígitos para que si algún diera se diera el caso .... Nunca pensé tampoco que habría diferencia entre declarar los campos como Decimal(12,0) o BigInt. De hecho, en el 99% por ciento de los casos no he tenido problemas ... hasta que salía el 1% dichoso ! Tengo que indicar que además tengo otro Domain definido con el tipo Decimal(14,2) para guardar unicamente 2 decimales, pero con cifras grandes, cuando trabajo con valores de monedas. Y aunque en Euros ... 12 cifras delante de la coma son muchos Euros, en otras divisas del mundo se pueden lelgar a manejar facilmente valores que sobrepasan los mil millones, es decir, fácilmente podríamos llegar a más de 10 cifras delante de la coma, por lo que ahí recapacité los valores que se iban a poder almacenar y en este caso no podría utilizar el BigInt. Saludos !
__________________
Piensa siempre en positivo ! |
|
#7
|
||||
|
||||
|
Hola.
Al igual que maeyanes para ese tamaño numérico yo definiria un BIGINT. Pero hay algo que ví en las pruebas y no esperaba: Aún declarando el campo como BIGINT el cast es necesario. Si no lo utilizo, obtengo el error: "Campo Clave no encontrado". Esto sucede tanto con el manejador de BD como desde el TIBDataSet. Lo que lamento es tener como único argumento el resultado de las pruebas... Voy a buscar un poco si encuentro documentado el motivo. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#8
|
||||
|
||||
|
Yo tengo alguna tabla con campo clave principal bigint, aunque no creo que ningún cliente haya llegado a usar los 12 dígitos, por lo demás, ningún problema.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Método tem parametro do tipo sysint | Paulao | Varios | 2 | 16-09-2010 21:20:15 |
| SQL CASE y COALESCE | mjjj | SQL | 1 | 17-12-2008 16:37:52 |
| tipo de dato para pasar parametro a un store procedure | Bracus | SQL | 6 | 25-03-2008 13:38:13 |
| Parametro a todos los objetos de un tipo | amadis | OOP | 1 | 06-10-2007 17:46:47 |
| Parametro Tipo BIGINT Stored Procedure | hibero | Firebird e Interbase | 5 | 13-04-2004 19:49:31 |
|