Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-06-2005
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
Problema con insert y campo float

Hola foro:

Tengo un problema al hacer un insert en una tabla, ya que tengo que insertar un campo float.

El problema es el que sigue:

Al hacer :
Código SQL [-]
 Insert into tabla
values (campo1, campo2, campofloat, campo4)
me da un error, ya que el campo float lo coje como 2 campos debio a la coma de los decimales.

Utilizo un componente IBSQL y la BD es firebir 1.5.Espero que alguien pueda decirme como cambiar la coma por un punto u otro metodo para solucionar esto.

Gracias de todos modos.
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #2  
Antiguo 21-06-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Has probado:
Código SQL [-]
 Insert into tabla (NombreCampo1, NombreCampo2, NombreCampoFloat,NombreCampo4)
values (campo1, campo2, campofloat, campo4)



Con esto debería detectar el tipo de campo sin problemas.

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 21-06-2005
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
Gracias por tu respuesta Lepe, pero me da el mismo problema, ya que la coma de decimales la entiende como de separación de campos y me da el error de que el número de valores es mayor que el número de campos.

Estoy mirando si existe alguna funcion que cambie todas las ocurrencias de un caracter en un String por otro, ya que de ese modo solucionaría el problema, si alguién conoce alguna función que haga esto agradecería que me lo comunicase y si la encuentro yo primero también lo pondre por aquí.
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #4  
Antiguo 21-06-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
vaya, se me pasó por alto el tema de sysutils.DecimalSeparator.

Supongo que quieres usar el sistema español, es decir, el punto como separador de miles y la coma como separador decimal. Logicamente Delphi usa la configuración al revés.

La función que buscas viene en Delphi 6 o superior:

StringReplace(TheString, ',', '.', [rfReplaceAll])

Para quitar los puntos de millar puedes usar, la misma función dejando el segundo parámetro vacio:

StringReplace(TheString, '.', '', [rfReplaceAll])

Edito para no alargar más el tema:
Si no tienes delphi 6, siempre puedes hacer un bucle:
Código Delphi [-]
 str := '6.546.798,00';
 repeat 
   i:= pos('.',str);
   if i>0 then
   begin
     delete(str,i,1);
   end
 until i=0;
 i:= pos(',',str);
 if i>0 then
  str[i]:= '.'; // cambiamos la coma por un punto.
Dicho de memoria, así que revisalo

Un saludo

Un saludo.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 21-06-2005 a las 23:47:52.
Responder Con Cita
  #5  
Antiguo 22-06-2005
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
Muchas gracias lepe, esta vez has dado en el clavo, y perdón si no me aclaré mucho en el primer mensaje. Gracias de nuevo
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 17:24:00.


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