OSDN Git Service

画像が用意されていないときはContentsStream:=nil;
authoryamat0jp <terukohietori@gmail.com>
Tue, 7 Jan 2020 09:20:37 +0000 (18:20 +0900)
committeryamat0jp <terukohietori@gmail.com>
Tue, 7 Jan 2020 09:20:37 +0000 (18:20 +0900)
Project3.res
Unit1.dfm
WebModuleUnit1.pas
tool/Unit1.fmx
tool/Unit1.pas

index 93802ca..0f3facb 100644 (file)
Binary files a/Project3.res and b/Project3.res differ
index 44aebe8..e1c1bb2 100644 (file)
--- a/Unit1.dfm
+++ b/Unit1.dfm
@@ -23,9 +23,9 @@ object DataModule1: TDataModule1
   end
   object FDConnection1: TFDConnection
     Params.Strings = (
-      'Password=admin'
+      'Password=kainushi'
       'CharacterSet=utf8'
-      'User_Name=kainushi'
+      'User_Name=masasi'
       'Database=kainushi'
       'Server=localhost'
       'DriverID=MySQL')
@@ -178,7 +178,6 @@ object DataModule1: TDataModule1
       FieldName = 'NAME'
       Origin = 'NAME'
       FixedChar = True
-      Size = 400
     end
     object FDTable5SOURCE: TBlobField
       FieldName = 'SOURCE'
index d514a5a..1624876 100644 (file)
@@ -766,7 +766,9 @@ begin
     begin
       Response.ContentType := 'image/jpeg';
       Response.ContentStream := CreateBlobStream(FieldByName('source'), bmRead);
-    end;
+    end
+    else
+      Response.ContentStream:=nil;
 end;
 
 procedure TTWebModule1.TWebModule1indexpageAction(Sender: TObject;
index f70e4cd..a4fb302 100644 (file)
@@ -59,20 +59,39 @@ object Form2: TForm2
     BeforeInsert = FDTable1BeforeInsert
     AfterInsert = FDTable1AfterInsert
     AfterPost = FDTable1AfterPost
+    IndexFieldNames = 'id'
     Connection = FDConnection1
     UpdateOptions.AssignedValues = [uvRefreshMode]
     UpdateOptions.UpdateTableName = 'kainushi.images'
     TableName = 'kainushi.images'
     Left = 296
     Top = 192
+    object FDTable1id: TFDAutoIncField
+      FieldName = 'id'
+      Origin = 'id'
+      ReadOnly = True
+      Required = True
+      AutoIncrementSeed = 0
+      AutoIncrementStep = 1
+    end
+    object FDTable1name: TWideStringField
+      FieldName = 'name'
+      Origin = '`name`'
+      Required = True
+    end
+    object FDTable1source: TBlobField
+      AutoGenerateValue = arDefault
+      FieldName = 'source'
+      Origin = '`source`'
+    end
   end
   object FDConnection1: TFDConnection
     Params.Strings = (
-      'Database=kainushi'
-      'User_Name=kainushi'
-      'Password=admin'
+      'User_Name=masasi'
+      'Password=kainushi'
       'Server=localhost'
       'CharacterSet=utf8'
+      'Database=kainushi'
       'DriverID=MySQL')
     Connected = True
     Left = 360
index 0f67434..c136f25 100644 (file)
@@ -33,6 +33,9 @@ type
     OpenDialog1: TOpenDialog;
     Label1: TLabel;
     LinkPropertyToFieldText: TLinkPropertyToField;
+    FDTable1id: TFDAutoIncField;
+    FDTable1name: TWideStringField;
+    FDTable1source: TBlobField;
     procedure Button1Click(Sender: TObject);
     procedure FDTable1BeforeInsert(DataSet: TDataSet);
     procedure FDTable1AfterInsert(DataSet: TDataSet);
@@ -56,18 +59,15 @@ procedure TForm2.Button1Click(Sender: TObject);
 var
   s: TStream;
 begin
-  case FDTable1.State of
-    dsInsert, dsEdit:
-      if OpenDialog1.Execute = true then
-      begin
-        Image1.Bitmap.LoadFromFile(OpenDialog1.FileName);
-        s := FDTable1.CreateBlobStream(FDTable1.FieldByName('source'), bmWrite);
-        try
-          Image1.Bitmap.SaveToStream(s);
-        finally
-          s.Free;
-        end;
-      end;
+  if OpenDialog1.Execute = true then
+  begin
+    Image1.Bitmap.LoadFromFile(OpenDialog1.FileName);
+    s := FDTable1.CreateBlobStream(FDTable1.FieldByName('source'), bmWrite);
+    try
+      Image1.Bitmap.SaveToStream(s);
+    finally
+      s.Free;
+    end;
   end;
 end;
 
@@ -90,6 +90,11 @@ end;
 
 procedure TForm2.FormCreate(Sender: TObject);
 begin
+  if FDTable1.Exists = false then
+  begin
+    FDTable1.CreateTable;
+    FDTable1.Open;
+  end;
   FDTable1.Refresh;
 end;