![]() |
Uso de BLOB con SQL
Ya se que este tema se ha hablado mucho pero solo quiero el codigo que me saque de este embrollo por favor.
Esto es lo que quiero hacer: Tengo una tabla con 3 Campos ID(auto), nombre(text) y foto (BLOB) Quiero agregar un usuario y luego su imagen seleccionando uno del OpenPicture para agregarlo a mi campo tipo BLOB de mi tabla, primero lo paso al TImage para ver si lo muestra (si lo hace) y luego que lo muestre el DBImage, (ya se supone que debe estar la imagen agregada a mi tabla) pero no se como rayos hacerlo. Utilizo ADOTable,DBGrid,ADOQuery, DBImage,TImage y un TOpenPictureDialog y este es la parte del codigo: ADOQuery1.SQL.Add('INSERT'); ADOQuery1.SQL.Add('INTO prueba.tabla1'); ADOQuery1.SQL.Add('WHERE ID ='+edit1.text); ADOQuery1.SQL.Add('SET foto ='+imagen.FileName); Donde prueba.table1 es mi tabla con un campo ID,nombre y BLOB (foto) y el Edit lo utilizo para obtener el ID. |
Lo que estás haciendo en esa consulta es intentar añadir al campo FOTO el nombre del fichero de la imagen (string) y eso no va a funcionar. Para asignar Blobs en una SQL debes utilizar parámetros.
Revisa la clase TParameter. A la SQL le pasas el parámetro para el campo de imagen. Crea un parámetro de tipo TParameter. Para buscarlo puedes usar un FindParam. Y para pasarle la imagen un Assign.
|
| La franja horaria es GMT +2. Ahora son las 21:37:43. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi