Cita:
Empezado por Ariqueño
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) '); 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) ');
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