From: yamat0jp Date: Wed, 8 Jan 2020 02:24:06 +0000 (+0900) Subject: Postはうまく生きましたが、まだ保持できない問題が続いています X-Git-Url: http://git.osdn.net/view?p=newbbs%2Fnewbbs.git;a=commitdiff_plain;h=023a72cb8d2fd06100f0208ee008c9b59d90b696 Postはうまく生きましたが、まだ保持できない問題が続いています --- diff --git a/tool/Unit1.fmx b/tool/Unit1.fmx index efd43d2..a17d9a7 100644 --- a/tool/Unit1.fmx +++ b/tool/Unit1.fmx @@ -350,8 +350,8 @@ object Form2: TForm2 'Password=kainushi' 'Server=localhost' 'CharacterSet=utf8' - 'Database=kainushi' 'DriverID=MySQL') + Connected = True Left = 360 Top = 192 end @@ -384,7 +384,7 @@ object Form2: TForm2 end object FDGUIxWaitCursor1: TFDGUIxWaitCursor Provider = 'FMX' - Left = 408 + Left = 416 Top = 224 end object BindSourceDB1: TBindSourceDB @@ -393,4 +393,14 @@ object Form2: TForm2 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 diff --git a/tool/Unit1.pas b/tool/Unit1.pas index a5af203..7387f4d 100644 --- a/tool/Unit1.pas +++ b/tool/Unit1.pas @@ -36,6 +36,7 @@ type FDTable1name: TWideStringField; FDTable1source: TBlobField; LinkPropertyToFieldBitmap: TLinkPropertyToField; + FDQuery1: TFDQuery; procedure Button1Click(Sender: TObject); procedure FDTable1AfterInsert(DataSet: TDataSet); procedure FormCreate(Sender: TObject); @@ -58,22 +59,27 @@ var 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; @@ -90,8 +96,7 @@ end; procedure TForm2.FormCreate(Sender: TObject); begin - if FDTable1.Exists = false then - FDTable1.CreateTable; + FDQuery1.ExecSQL; FDTable1.Open; FDTable1.Refresh; end;