Ver Mensaje Individual
  #5  
Antiguo 14-10-2021
bucanero bucanero is offline
Miembro
 
Registrado: nov 2013
Ubicación: Almería, España
Posts: 208
Reputación: 11
bucanero Va camino a la fama
Cita:
Empezado por Ariqueño Ver Mensaje
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 ..
Hola!!

MySQL no diferencia entre comillas simples y comillas dobles, por lo que puedes usar indistintamente unas u otras.

Para usar en delphi las comillas simples dentro de una cadena entrecomillada, se hace poniendo dos veces la comilla simple por ejemplo

Código Delphi [-]
   DM.miSQL.SQL.Add('set final_sala=CONVERT(REPLACE(@num1, '','', ''.''),decimal(12,3) '); // problema


Por otra parte MySQL te dará error en esta línea
Código SQL [-]
    DM.miSQL.SQL.Add('LOAD DATA INFILE :P1');
puesto que la sentencia LOAD DATA INFILE es muy restrictiva y no acepta parámetros para el nombre del fichero ni integrarla en procedimiento y funciones almacenadas en la BBDD. Por lo que tendrás que poner el nombre del fichero directamente desde delphi
Responder Con Cita