'Password=kainushi'
'Server=localhost'
'CharacterSet=utf8'
- 'Database=kainushi'
'DriverID=MySQL')
+ Connected = True
Left = 360
Top = 192
end
end
object FDGUIxWaitCursor1: TFDGUIxWaitCursor
Provider = 'FMX'
- Left = 408
+ Left = 416
Top = 224
end
object BindSourceDB1: TBindSourceDB
Left = 384
Top = 288
end
+ object FDQuery1: TFDQuery
+ Connection = FDConnection1
+ SQL.Strings = (
+ 'create database if not exists kainushi;'
+ 'use kainushi;'
+ 'create table if not exists images(id int primary key,'
+ ' name varchar(10), source mediumblob);')
+ Left = 456
+ Top = 192
+ end
end
FDTable1name: TWideStringField;
FDTable1source: TBlobField;
LinkPropertyToFieldBitmap: TLinkPropertyToField;
+ FDQuery1: TFDQuery;
procedure Button1Click(Sender: TObject);
procedure FDTable1AfterInsert(DataSet: TDataSet);
procedure FormCreate(Sender: TObject);
s: TStream;
bmp: TBitmapSurface;
pm: TBitmapCodecSaveParams;
+ img: TBitmap;
begin
if OpenDialog1.Execute = true then
begin
+ if FDTable1.RecordCount = 0 then
+ FDTable1.Append;
FDTable1.Edit;
bmp := TBitmapSurface.Create;
+ img := TBitmap.Create;
try
s := FDTable1.CreateBlobStream(FDTable1.FieldByName('source'), bmWrite);
- Image1.Bitmap.LoadFromFile(OpenDialog1.FileName);
- bmp.Assign(Image1.Bitmap);
+ img.LoadFromFile(OpenDialog1.FileName);
+ bmp.Assign(img);
pm.Quality := 100;
TBitmapCodecManager.SaveToStream(s, bmp, '.jpg', @pm);
+ FDTable1.Post;
finally
s.Free;
bmp.Free;
+ img.Free;
end;
- FDTable1.Post;
end;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
- if FDTable1.Exists = false then
- FDTable1.CreateTable;
+ FDQuery1.ExecSQL;
FDTable1.Open;
FDTable1.Refresh;
end;