Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-06-2011
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 23
gluglu Va por buen camino
Parece que estamos hoy en sintonía, ecfisa y yo !

De nuevo, acabo de hacer las mismas pruebas, sólo ya por curiosidad, y coincido con él, que el Cast es necesario a pesar de haber definido el campo como BigInt.

Código SQL [-]
Select Campo1 from Tabla1
where :Clave is Null
no me funciona, a pesar de haber declarado Clave como BigInt, y me dá de nuevo el error 'Data Type Unknown'

Y si utilizo la función Coalesce, de tal manera que
Código SQL [-]
Select Campo1 from Tabla1
where Coalesce(:Clave, 0) = 0
me vuelve a saltar el mismo error de Arithmetic exception, numeric overflow ...'
__________________
Piensa siempre en positivo !
Responder Con Cita
  #2  
Antiguo 13-06-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.678
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
¿Y ese error es desde ibexpert, flamerobin, etc. o es poniéndole el sql a algún componente desde delphi?
Responder Con Cita
  #3  
Antiguo 13-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Y ese error es desde ibexpert, flamerobin, etc. o es poniéndole el sql a algún componente desde delphi?
Sin el uso del cast, me aparece error en ambos casos Casimiro. Ya sea lanzando la consulta directamente desde el mananger o desde el IBDataSet.


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 13-06-2011 a las 22:10:26.
Responder Con Cita
  #4  
Antiguo 14-06-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.678
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Bueno, he estado haciendo pruebas con el isql, que es del único que me fio y funciona perfectamente... o estoy ya medio dormido
Responder Con Cita
  #5  
Antiguo 14-06-2011
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 23
gluglu Va por buen camino
Yo estoy utilizando Delphi 2007 y TIBDataSet.

No sé cómo hacer dicha operación con el IBExpert. Sí que puedo ver relaciones Maestro/Detalle y funcionan correctamente, pero no sé cómo poder relacionar un Query con la tabla correspondiente y así poder probar la sentencia SQL que indicaba anteriormente.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #6  
Antiguo 14-06-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.678
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Si no hay forma de hacerlo como quieres, quizás pueda hacerse ejecutando desde tu programa el isql y que guarde el resultado en una tabla/fichero externo, luego desde tu programa lees ese fichero.
Desde luego que las pruebas que he hecho con ibdataset no funcionan, debe ser que internamente hacen uso de un int aunque se haya declarado el campo como bigint. A ver si a mediodía hago una prueba con TFIBDataSet, aunque si no lo usas tú, tampoco va a servir de nada.
Responder Con Cita
  #7  
Antiguo 14-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Para aportar mas datos, usando esta tabla:
Código SQL [-]
CREATE TABLE PRUEBA (
  CP_SMALLINT SMALLINT,
  CP_INTEGER INTEGER,
  CP_BIGINT BIGINT,
  CP_FLOAT FLOAT,
  CP_DOUBLEPRECISION DOUBLE PRECISION,
  CP_NUMERIC NUMERIC(15, 3),
  CP_DECIMAL DECIMAL(15, 3));
hice unas pruebas con TIBDataset, variando en la cláusula SELECT: CP_SMALLINT, CP_INTEGER, CP_BIGINT, CP_FLOAT, P_DOUBLEPRECISION, CP_NUMERIC y CP_DECIMAL.

Con el código:
Código Delphi [-]
  IBDataSet1.Close;
  IBDataSet1.SelectSQL.Clear;
  IBDataSet1.SelectSQL.Add('SELECT CP_SMALLINT FROM PRUEBA');
  IBDataSet1.SelectSQL.Add('WHERE :CLAVE IS NULL');
  IBDataSet1.Open;
En todos los casos obtuve el error: "Tipo de datos SQL desconocido (32766)", sin siquiera asignar valor al parámetro. Lo que me induce a pensar que esta forma de llamada es incorrecta.

Con el código:
Código Delphi [-]
  IBDataSet1.Close;
  IBDataSet1.SelectSQL.Clear;
  IBDataSet1.SelectSQL.Add('SELECT CP_SMALLINT FROM PRUEBA');
  IBDataSet1.SelectSQL.Add('WHERE Coalesce(:Clave, 0) = 0');
  ...
  IBDataSet1.Open;
Sin asignar valor al parámetro no arroja error en ningún caso. Asignando el valor que nos dió gluglu con cualquier tipo de entero, me dá el mismo error de overflow que a él.

Con el código:
Código Delphi [-]
  IBDataSet1.Close;
  IBDataSet1.SelectSQL.Clear;
  IBDataSet1.SelectSQL.Add('SELECT CP_SMALLINT FROM PRUEBA');
  IBDataSet1.SelectSQL.Add('WHERE CAST(:CLAVE AS SMALLINT) IS NULL');
  ...
  IBDataSet1.Open;
No obtuve error en ningún caso, asignando o no, valores al parámetro CLAVE.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 14-06-2011 a las 12:52:05.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
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


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


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