![]() |
Que Tipo de Campo Usar??
Hola a todos.
Tengo un peque~o problema y es el siguiente: Que tipo de campo MySQL se debe usar para que me guarde una ruta de un archivo/imagen. Resulta que tengo un Campo tipo Varchar en mi DB MySQL llamado "FOTO". hago un insert como este: Código:
INSERT foto INTO mytable VALUES ('C:\MisImagenes\Imagen1.jpg') Código:
C:MisImagenesImagen1.jpg Alguna idea? |
Utilizar la propiedad Params de una Query
Hola, yo siempre utilizo la propiedad 'Params' de una Query, esto te permite introducir en tu base de datos cualquier cadena de texto.
Por ejemplo: SQL.Add('insert into articulos' + ' (codigo, nombre) values(' + IntToStr(wcodigo.asInteger) + ',:pnombre)'); Params.ParamByName('pnombre').asString := wnombre.Text; ExecSQL; wnombre en este caso es un TEdit pero puede ser cualquier otro objeto que su propiedad devuelva un String. Espero haberte ayudado. |
Has probado a insertar una rura en un campo varchar??
por que aunque lo insertes desde el mismo mysql (Sin delphi) le quita los espacios y los "/"... ayuda please.. que tipo de campo soporta que el inserten cualkier tipo de caracteres? saludo. |
El caracter \ en MySql es un caracter de escape por lo que debes usarlo doble \\. Por ejemplo, en lugar de insertar
'C:\Mis Imagenes\Imagen1.jpg' insertas 'C:\\Mis Imagenes\\Imagen1.jpg' Lo de los espacios no me queda nada claro. Que yo sepa MySql únicamente elimina los espacios finales en un campo VarChar pero no los iniciales ni intermedios y simplemente los elimina, no los sustituye por un _. En tu ejemplo del primer mensaje no veo que te haya quedado ningun _ y el único espacio que se "pierde" podría ser el de "Mis Imagenes" pero en tu ejemplo lo insertas sin espacio. Revisa esto de los espacios para aseguratte de lo que pasa. // Saludos |
Hey Roman gracias, tienes razon en todo con un doble \ me funciona perfectamente desde la linea de comandos mysql>
ejemplo: Cita:
ahora hay un pequeño problemita, como lo hago desde delphi? osea lo que tengo en Delphi es un componente Timage en conjunto con un OpenPictureDialog, y tomo la ruta del archivo con la propiedad Filename, ejemplo: Cita:
alguna solucion a este ultimo problema sobre esto? PD: Disculpas por tantas preguntas :( |
Sustituye
OpenPictureDialog1.FileName por StringReplace(OpenPictureDialog1.FileName, '\', '\\', [rfReplaceAll]) StringReplace está en la unidad StrUtils. // Saludos |
Propiedad 'Params'
MasterXP escribió:
"Has probado a insertar una rura en un campo varchar??" Por supuesto y funciona perfectamente. "por que aunque lo insertes desde el mismo mysql (Sin delphi) le quita los espacios y los "/"..." Eso es porque la propiedad 'Params' solamente funciona desde Delphi; además la ventaja de utilizar 'Params' es que vale para cualquier cadena incluyendo cualquier símbolo especial con independencia del motor de base de datos a utilizar. Un saludo |
Cita:
Cita:
Gracias Amigos. |
La franja horaria es GMT +2. Ahora son las 00:29:57. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi