¿Como cargar imagenes en SQL Server?
Hola, escribo en este foro por que quería saber como puedo hacer para cargar una imagen en una bse de datos en SQL Server, la situacion es la siguiente:
INSERT INTO TABLA_IMAGEN (FOTO) VALUES (??????) el campo "FOTO" de "TABLA_IMAGEN" es de tipo IMAGE tipo de datos para cargar imagenes tengo entendido. necesito saber que valor es el que tengo que colocar para que se cargue la imagen en la BD he visto en foros que sugieren cargar solo la ruta si tienen un ejemplo completo de como hacer ese insert tambien se lo agradecería le agradezco oa quien me pueda responder lo necesito. Uso delphi 7. Gracias |
Puedes utilizar una SQL con parámetros para añadir las imágenes.
Suponiendo que tengas una tabla con los campos: * Entero * Cadena * Imagen Coloca un TImage y carga un Bitmap en él. Crea un ADOQuery y en la SQL coloca lo siguiente:
Puedes insertar un nuevo registro con este código:
|
y puedo decirle que la imagen está en c:\imagenes\image.jpg y que la coja directamente de allí en vez de cargarla?
Ademas mi idea es que tambien pueda adjuntar ficheros txt, pdf, word, etc... y no sólamente imágenes. Graciass por la respuesta, me has sacado de muchas dudas que tenia :) Feliz año |
Cita:
Seguramente en tu tabla deberás tener algun campo para almacenar el nombre o el tipo del fichero original, para así después poderlo recuperar correctamente. Para guardar un fichero en un campo de una tabla (TADOTable en este caso, con un campo definido como IMAGE) puedes usar esto:
Para volver a guardar ese campo en disco (fichero) algo como esto:
|
var
fs : Tfilestream; bs: TStream; begin ADOQuery1.active:=false; ADOQuery1.SQL.Clear; Adoquery1.SQL.Add('INSERT INTO FICHEROS (idempresa,Archivo) VALUES (:idempresa,:idnumero,:Archivo)'); Adoquery1.Parameters.FindParam('idempresa').Value:=1; bs := Adoquery1.CreateBlobStream(Adoquery1.FieldByName('Archivo'),bmWrite); TADOBlobStream(bs).LoadFromFile('c:\VICENTE.txt'); Adoquery1.ExecSQL; me dice que el campo Archivo no existe pero si que existe ya que si hago un Adoquery1.Parameters.FindParam('Archivo').Value:='dfsfa'; me lo inserta. ¿que puede estar pasando? Gracias |
encontre la solucion
Adoquery1.Parameters.ParamByName('Archivo').LoadFromFile('c:\VICENTE.jpg',ftBlob); |
La franja horaria es GMT +2. Ahora son las 20:14:04. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi