і

Delphi code posted
created at 20 May 11:39

Edit | Back
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
uses
 ...
 jpeg;

type
    ...
    procedure ReadImgFromDB();
    procedure LoadImgToDB();
    
// Процедура завантаження зображення з бази даних
procedure TForm1.ReadImgFromDB();
 var
  jpg:TJPEGImage;
  Blob:TMemoryStream;
begin

  try

    jpg:=TJPEGImage.Create;
  
  { Створимо потік пам'яті Blob, завантажимо зображення з поля двійкових даних(blob)
      бази даних  з навою поля 'Фото' в режимі читання                                }
    Blob:=TADOBlobStream.Create(TBlobField(DM.tblAnteny.FieldByName('Фото')),bmRead);
    
  if Blob.Size = 0 then Exit;
  
    jpg.LoadFromStream(Blob);
  
  { Завантажимо ддані до компоненту TImage що розміщений на формі під назвою img1   }
    img1.Picture.Assign(jpg);
  
    jpg.Free;
    Blob.Free;

  except
   on e:Exception do 
     begin
      jpg.Free;
      Blob.Free;
     end;
end;
end;

// Процедура завантаження зображення до бази даних
procedure TForm1.LoadImgToDB();
 var
  Blob:TMemoryStream;
begin
  try
  
   if dlgOpen1.Execute then
     begin
    DM.tblAnteny.Edit;  // Переведемо таблицю в режим редагування
    
    { Створимо потік пам'яті Blob, для поля двійкових даних(blob)
      бази даних  з навою поля 'Фото' в режимі запису                                }
      Blob:=TADOBlobStream.Create(TBlobField(DM.tblAnteny.FieldByName('Фото')),bmWrite);
    
    { Завантажимо зображення в потік Blob із файлу, що вибрали в 
      діалозі відкриття TOpenDialog dlgOpen1                                       }
      Blob.LoadFromFile(dlgOpen1.FileName);
      Blob.Free;
      DM.tblAnteny.Post; // Застосуємо зміни для таблиці
   end;
  except
   on e:Exception do
  end;
end;
1.66 KB in 3 ms with coderay