Avatar billede xing Novice
13. februar 2004 - 09:53 Der er 3 kommentarer og
1 løsning

SQL og billed

Hvordan for jeg et billed ind i en MSSQL database

Navnet går fint ind her, men hvad med mit billed, snøft

procedure TForm1.Button1Click(Sender: TObject);
var
Q1: TADOCommand;
begin

Q1 := TADOCommand.Create(self);
Q1.Connection := ADOConnection1;
Q1.CommandText := 'INSERT INTO Navn (Navn, pic) '+' VALUES (:Navn, :pic)';
Q1.Parameters.ParamByName('Navn').Value := 'Xing';
Q1.Parameters.ParamByName('pic').Value := ?
Q1.Execute;
Q1.Free;

end;
Avatar billede ibhe Novice
15. februar 2004 - 05:23 #1
Jeg gør følgende når jeg gemmer billeder i min database:

Jeg bruger en ADOquery i stedet for en ADOconnection:

adoquery1.connection := ADOconnection1;
adoquery1.sql.clear;
adoquery1.sql.add('select * from navn');
adoquery1.active := true;
adoquery1.insert;
adoquery1.fieldbyname('navn').asstring := 'Xing';
adoquery1.fieldbyname('pic').asstring := ?;
adoquery1.post;
adoquery1.active := false;

--snip--

Når du skal vise billedet igen, kan du gøre det på følgende måde:

var
  Jpg: TJPEGImage;
begin
  if adoquery1.Active then
    adoquery1.Active := false;
  adoquery1.SQL.Clear;
  adoquery1.SQL.add('select * from billeder where recid='+recid);
  adoquery1.Active:=true;
  Jpg := TJPEGImage.Create;
  try
    Jpg.Assign(adoquery1.fieldbyname('pic'));
  finally
    adoquery11.Close;
  end;
end;

Håber det løser opgaven

mvh ib
Avatar billede xing Novice
15. februar 2004 - 15:06 #2
Den linnie du skriver her

adoquery1.fieldbyname('pic').asstring := ?;

skal det bare være fx

adoquery1.fieldbyname('pic').asstring := 'C:\foto.jpg';

Eller hvad?
Avatar billede ibhe Novice
16. februar 2004 - 01:05 #3
Øøøh, Jeg bruger kodestumpen i et cgi-program der benyttes til at uploade billeder på kunstkritik.dk. I det tilfælde kommer jpg-billedet som en række tegn i webrequest.content feltet, så det er nemt nok.

Nu er der ikke en string med billedet i en Timage, så mit bedste bud er at man benytter en assign, formentlig lidt ala:

var
  JpegImage: TJpegImage;


...
jpegimage.LoadFromFile('c:\foto.jpg');
adoquery1.FieldByName('feltnavn').Assign(jpegimage);
...

Jeg sidder faktisk selv og roder med dette pt, da jeg forsøger at lave en automatisk konvertering af størrelsen på de uploadede billeder

mvh ib@total-data.dk
Avatar billede xing Novice
16. februar 2004 - 06:35 #4
Jeg har fundet 2 links som er ret gode

http://www.latiumsoftware.com/en/pascal/0011.php

http://delphi.about.com/library/weekly/aa030601c.htm

Efter jeg læste dem fik jeg det til at virke... :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester