Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-07-2006
dayser dayser is offline
Registrado
 
Registrado: jul 2006
Posts: 5
Poder: 0
dayser Va por buen camino
Insertar numero en tabla paradox

Hola a todos,
tengo un problema al insertar datos de tipo numerico en la tabla.

Estoy trabajando con c++ builder 5, he creado una tabla paradox 7, con un campo de tipo N (numerico).
Luego en un formulario a traves de un boton inserto los datos de la siguiente forma:

QueryInsertar->Close();
QueryInsertar->SQL->Clear();
QueryInsertar->SQL->Add("INSERT INTO tabla");
QueryInsertar->SQL->Add("VALUES (' "+Edit1->Text+" ',"+Edit2->Text.ToDouble()+")");
QueryInsertar->ExecSQL();

En Edit1->Text hay una cadena de texto.
Edit2->Text.ToDouble() hay numeros con decimales.

Y me da el siguiente error:
Proyect ProcjectNuevo.exe raised exception class EDBEngineError with message 'Invalid parameter.'.
Process stopped. Use step or run to continue.

El error creo que es del edit2, ya que al insertar:

QueryInsertar->SQL->Add("VALUES (' "+Edit1->Text+" ',50.28")");

esto si me lo inserta, pero cogiendo el dato del edit o de una variable de tipo double o float me da el error.

No se que puede ser, espero que alguien me pueda ayudar. Gracias.
Responder Con Cita
  #2  
Antiguo 23-07-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
La sintáxis SQL que estás utilizando es incorrecta:

Código SQL [-]
Insert
Into Nombre_Tabla(Nombre_Campo1, Nombre_Campo2)
Values('Texto' , 3.09)

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 23-07-2006
dayser dayser is offline
Registrado
 
Registrado: jul 2006
Posts: 5
Poder: 0
dayser Va por buen camino
Tambien lo he probado asi y me da el error.

Yo lo que quiero en insertar el contenido de los edit en la tabla.
Los datos los tengo que coger de los edits, el texto y el numero. No lo puedo escribir yo a mano.

Última edición por dayser fecha: 23-07-2006 a las 22:12:49.
Responder Con Cita
  #4  
Antiguo 23-07-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Entonces al campo numérico le tendrás que aplicar
StrToFloat(xxx).

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 23-07-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código SQL [-]
Insert
Into Nombre_Tabla(Nombre_Campo1, Nombre_Campo2)
Values(Edit1.Text , Edit2.Text)

Es posible que no te admita el edit2.text si va dirigido a un
campo numérico de tipo doble.

En ese caso tendrías que transformar el número en Float, en
Delphi sería StrTofloat....

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 23-07-2006
dayser dayser is offline
Registrado
 
Registrado: jul 2006
Posts: 5
Poder: 0
dayser Va por buen camino
Gracias creo que puede funcionar con eso.
Pero ahora no me compila, en esta linea esta el error pero no se cual es:

QueryInsertar->SQL->Add("VALUES (' "+Edit1->Text+" ',"+StrToFloat(Edit2->Text)+")");

Me dice que no puedo poner el operador + antes del StrToFloat, pero entonces como concateno?, si los quito me pone que falta un parentesis.

Alguna idea. Gracias
Un saludo.
Responder Con Cita
  #7  
Antiguo 24-07-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código Delphi [-]
Sql.Add('Insert
Into Nombre_Tabla(Nombre_Campo1, Nombre_Campo2)
Values('+Edit1.Text+ ','+StrToFlat(Edit2.Text))
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #8  
Antiguo 24-07-2006
dayser dayser is offline
Registrado
 
Registrado: jul 2006
Posts: 5
Poder: 0
dayser Va por buen camino
No me deja poner el + delante del StrToFloat me pone el siguiente error:

Operator + not implemented in type AnsiString for arguments of type long double.

Y si quito el + me pone:

Function call missing ")".

No se que hacer si teneis alguna idea.

Gracias.
Responder Con Cita
  #9  
Antiguo 24-07-2006
dayser dayser is offline
Registrado
 
Registrado: jul 2006
Posts: 5
Poder: 0
dayser Va por buen camino
Por fin dí con el error, despues de dos dias intentandolo lo conseguí.

El error no era de ningún problema de sintaxis, lo que pasaba era que el valor del edit2 era un numero decimal con coma (58,92) en vez de con punto (58.92), y en la base de datos no me deja insertar numeros con coma, aunque luego los visualiza con comas y no con puntos.

Lo que no conseguí fue que funcionase lo del StrToFloat.

Un saludo y Gracias por las soluciones.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Rave, insertar numero de pagina martita Impresión 1 12-05-2006 18:36:11
Insertar un registro en una tabla Paradox maravert Tablas planas 1 14-10-2005 02:08:02
al insertar algo en una tabla paradox..... Rafe Conexión con bases de datos 4 02-08-2005 17:44:10
Insertar una imagen JPG en una tabla paradox David Tablas planas 2 24-11-2004 17:04:05
Insertar un campo en una Tabla Paradox en runtime llonigualker Varios 4 22-07-2003 14:55:59


La franja horaria es GMT +2. Ahora son las 15:03:19.


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