Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-09-2006
chileno chileno is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
chileno Va por buen camino
type mismatch for field 'Factura_Inicio', expecting:float actual: string.

hola ...a todos

tengo la sgte sentencia SQL almacenada en un Query :
Código SQL [-]
select  
numeracion.id_almacen,
numeracion.id_documento,
almacen.id_almacen,
almacen.direccion,
almacen.ciudad,    
sum(if(id_Documento=1,folio_inicio,null)) as Factura_Inicio,            
sum(if(id_Documento=1,folio_termino,null)) as Factura_Termino,
sum(if(id_Documento=1,folio_actual,null)) as Factura_actual,
sum(if(id_Documento=2,folio_inicio,null)) as Boleta_Inicio,   
sum(if(id_Documento=2,folio_termino,null)) as Boleta_Termino, 
sum(if(id_Documento=2,folio_actual,null)) as Boleta_actual,
sum(if(id_Documento=3,folio_inicio,null)) as Guia_Inicio,
sum(if(id_Documento=3,folio_termino,null)) as Guia_termino,
sum(if(id_Documento=3,folio_actual,null)) as Guia_actual,
sum(if(id_Documento=4,folio_inicio,null)) as Credito_Inicio, 
sum(if(id_Documento=4,folio_termino,null)) as Credito_termino,
sum(if(id_Documento=4,folio_actual,null)) as Credito_actual,
sum(if(id_Documento=5,folio_inicio,null)) as Debito_Inicio,
sum(if(id_Documento=5,folio_termino,null)) as Debito_termino,
sum(if(id_Documento=5,folio_actual,null)) as Debito_actual
from          almacen
inner         join numeracion
on            almacen.id_almacen = numeracion.id_almacen
group by    almacen.id_almacen
el problema surge cuando llevo mi aplicacion a otro pc y al ejecutar dicha sentencia me arroja el sgte error(desarrollo en los dos pc mi aplicacion con delphi 7 en ambos, pero con mysql de distinta version 4.0 y 5.0):
tbCorrelativo:Type mismatch for field 'Factura_Inicio', expecting: Float actual:String.

lo que veo es que en el editor de campos (para un pc), los campos en problema toma el tipo stringfields y al depurar este problema en el otro pc, este mismo campo toma el valor Floatfields.

al parecer es por la version de la base de datos...creo yo...y me gustaria asi alguien me dijiera si estoy en buen paso o es otra cosa
Responder Con Cita
  #2  
Antiguo 28-09-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Qué tipo de datos tiene el campo folio_inicio?

// Saludos
Responder Con Cita
  #3  
Antiguo 28-09-2006
chileno chileno is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
chileno Va por buen camino
hola roman

el campo Folio_inicio en su tabla original (numeracion) es integer unsigned, tambien para folio_ temino, folio_actual.
Responder Con Cita
  #4  
Antiguo 28-09-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues es muy raro. ¿Qué componentes usas? ¿En qué versión de MySql se ven como String, en la 4 o la 5?

// Saludos
Responder Con Cita
  #5  
Antiguo 28-09-2006
chileno chileno is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
chileno Va por buen camino
hola roman.....
disculpa por la demora
utilizo zeos 6.1.5 stable y con la version 5 de mysql.
Responder Con Cita
  #6  
Antiguo 28-09-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues es que no tiene pies ni cabeza. Un Sum debiera producir un Float o en todo caso un Integer, pero ¿cómo puede producir un String?

No me has contestado en qué versión de MySql es donde se genera un StringField.

Ahora- aunque no pareciera ser necesario -¿qué pasa si obligas el tipo de datos en la consulta?

Código SQL [-]
...
sum(if(id_Documento=1,folio_inicio,null)) + 0 as Factura_Inicio,
...

Al sumar el 0, si no mal recuerdo, obligas a MySql a convertir el dato a entero o numérico.

// Saludos
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
Error: Type mismatch in expression gusanita Varios 11 28-01-2006 18:12:17
type mismatch in expression noe SQL 1 12-02-2005 02:41:26
Database Desktop, Type Mismatch Expression en campo fecha fjolivares SQL 1 19-01-2005 13:45:53
Query: Type Mismatch in Expresion jdangosto SQL 2 01-10-2004 08:21:38
de float a string davidgaldo Varios 1 18-05-2004 15:41:26


La franja horaria es GMT +2. Ahora son las 22:42:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi