Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 14-10-2021
Ariqueño Ariqueño is offline
Registrado
 
Registrado: feb 2021
Posts: 8
Poder: 0
Ariqueño Va por buen camino
Cita:
Empezado por bucanero Ver Mensaje
hola!!

Una forma de solucionar este problema es almacenar el valor en una variable temporal y establecer el valor correcto del campo en la sección SET del comando LOAD DATA aplicando una sustitución del separador decimal.

Aquí te dejo un ejemplo de como poder hacerlo:

Código SQL [-]
LOAD DATA INFILE 'C://xampp//tmp//tabla.csv'
INTO TABLE `tablacsv`
FIELDS TERMINATED BY ';' ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
-- los valores correspondientes a los campos num1, num2, en vez de guardarlos
-- directamente en la BBDD se almacenan en las varibles temporales @num1, @num2
(`id`, `asunto`, @num1, @num2)
-- y en la seccion SET puedes establecer los valores de los campos aplicando los cambios que se deseen
-- en este caso se sustituye la coma decimal por punto
SET `num1`=CONVERT(replace(@num1, ',', '.'), decimal(10,3)),
    `num2`=CONVERT(replace(@num1, ',', '.'), decimal(10,3))
buen dia bucabero.

Código Delphi [-]
    DM.miSQL.SQL.Add('LOAD DATA INFILE :P1');
    DM.miSQL.SQL.Add('INTO TABLE temporal_stock');
    DM.miSQL.SQL.Add('FIELDS TERMINATED BY ";"');
    DM.miSQL.SQL.Add('LINES TERMINATED BY "\r\n"');
    DM.miSQL.SQL.Add('IGNORE 1 LINES');
    DM.miSQL.SQL.Add('(id_prod,nombre,@num1)');
    DM.miSQL.SQL.Add('set final_sala=CONVERT(REPLACE(@num1,",","."),decimal(12,3) '); // problema
    DM.miSQL.ParamByName('P1').Value := edit2.Text;
    DM.miSQL.ExecSQL;

tengo un error de sentencia SQL no puedo usar cremillas simple por ser caracteres reservados del delphi.
como puedo pasar ese error? gracias ..
Responder Con Cita
 



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
Longitud máxima de datos numéricos Drakyto Varios 1 15-05-2010 01:44:42
Sacar datos numericos jon_g461 MS SQL Server 3 18-11-2008 17:01:40
Validación de Datos Numéricos TelloClos Conexión con bases de datos 4 05-12-2007 03:40:44
Datos NumÉricos jadelphi Varios 1 31-03-2005 16:49:07
Usar datos no númericos en un TDBChart Er_Manué OOP 0 27-08-2003 19:58:48


La franja horaria es GMT +2. Ahora son las 22:01:10.


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