回覆列表
  • 1 # 愛逗的小夥伴

    sqlite中有一種資料型別叫做Blob,可以滿足我們的要求。

    資料庫中照片欄位Photo BLOB

    寫入:

    var

    SqliteDB: TSQLiteDatabase;

    FS: TFileStream;

    begin

    SqliteDB:=TSQLiteDatabase.Create("database.db");

    FS := TFileStream.Create("test.jpeg",fmOpenRead);

    SqliteDB.UpdateBlob("UPDATE PhotoLib set Photo = ? WHERE ID = 1",FS);

    FS.free;

    SqliteDB.Free;

    end;

    讀取至TImage控制元件顯示:

    SqliteDB:=TSQLiteDatabase.Create("database.db");

    SqliteTB:=SqliteDB.GetTable("Select * From PhotoLib Where Id=1");

    MS := SqliteTB.FieldAsBlob(SqliteTB.FieldIndex["photo"]);

    if (MS = nil) then

    begin

    showmessage("無照片記錄.");

    exit;

    end;

    MS.Position := 0;

    PIC := TJPEGImage.Create;

    PIC.LoadFromStream(ms);

    self.Image2.Picture.Graphic := PIC;

    MS.free;

    PIC.Free;

  • 中秋節和大豐收的關聯?
  • 同學們好!用英語怎麼說?