PDA

Ver la Versión Completa : guardar la RUTA de imagen en mysql


darkbits
31-03-2016, 23:47:32
Hola al club
mira que no puedo hacer un UPDATE la ruta de una imagen c:\sistema\image\logo.jpg

cuando ejecuto el SQL me guarda c:sistemaimagelogo.jpg


s:=SavePictureDialog1.FileName+'image\logo.jpg';
_DM.consulta1.SQL.Text:='update empresa set logo_empresa ='+(s)+' where id_empresa =1';

mi campo logo_empresa es varchar (500)

agradesco su ayuda

roman
01-04-2016, 00:07:30
Para mysql (como para muchos otros procesos) la diagonal \ es un caracter especial (de escape) y por tanto debes "escaparla" también anteponiendo otra diagonal. O sea, tu ruta debe ser así:


C:\\ruta\\a\\la\\imagen.jpg


LineComment Saludos

darkbits
01-04-2016, 00:16:13
Nada no funciono MYSQL no reconoce \ peor \\

roman
01-04-2016, 00:27:26
En cambio yo acabo de hacer la prueba y funciona tal como digo. Lo que puedo ver en tu código es que no estás entrecomillando el texto de la ruta. Tendrías que poner:


'update empresa set logo_empresa ="'+s+'" where id_empresa =1'


LineComment Saludos

roman
01-04-2016, 00:31:55
Por otro lado, el uso de parámetros suele evitar estos problemas. Por ejemplo, en MyDac pondría:


s:=SavePictureDialog1.FileName+'image\logo.jpg';
_DM.consulta1.SQL.Text:='update empresa set logo_empresa =:ruta where id_empresa =1';
_DM.consulta1.ParamByName('ruta').AsString := s;
_DM.consulta1.Execute;


y listo. Sin necesidad de entrecomillar ni escapar.

LineComment Saludos

darkbits
01-04-2016, 00:40:21
SOLUCIONADO
funciono la opción con parámetros se agradece...