Size: a a a

2020 February 10

DB

Dmitry Belkevich in Delphi & Lazarus
унигуевое к слову у нас даже лучше десктопного выглядит местами ) грид у нас фильтры сверху вот так не умеет
источник

DB

Dmitry Belkevich in Delphi & Lazarus
но тут тоже есть косяк - фильтр по дате дефолтно невозможно сделать с диапазоном, неуднобно. я пока думаю как пофиксить
источник

N

Nik in Delphi & Lazarus
а я тут на FireDAC издеваюсь...
источник

N

Nik in Delphi & Lazarus
источник

N

Nik in Delphi & Lazarus
Блоб-поле через variant достаю 🙈
источник

DB

Dmitry Belkevich in Delphi & Lazarus
хммм ) как-то хитро
источник

N

Nik in Delphi & Lazarus
и записываю тоже так
источник

N

Nik in Delphi & Lazarus
этот хэлпер позволяет строку данных из Query загрузить в такую вот структуру:
  TDocumentInfo = class
   ID: integer;
   ID_Document: integer;
   Create_Date: TDateTime;
   Change_Date: TDateTime;
   Description: string;
   Info: TMemoryStream;
   Photo: TMemoryStream;
   constructor Create;
   destructor Destroy; override;
 end;
источник

N

Nik in Delphi & Lazarus
блобы соответственно будут сразу в TMemotyStream загружены
источник

DB

Dmitry Belkevich in Delphi & Lazarus
в ibx'ах вот так делал: Stream := CreateBlobStream(FieldByName('series_thumbnail'), bmRead);
источник

N

Nik in Delphi & Lazarus
  mInfo.Lines.SaveToStream(Document.DocInfo.Info);
 iPhoto.Bitmap.SaveToStream(Document.DocInfo.Photo);
источник

DB

Dmitry Belkevich in Delphi & Lazarus
вроде как самый прямой путь без лишних копирований
источник

N

Nik in Delphi & Lazarus
vTable := Core.Meta.GetTable('WT_AMB_DOCUMENT_INFO');
vFields := vTable.GetFieldList(['ID', 'CHANGE_DATE']);
vValues := TSetter.GetValues(Document.DocInfo, vFields);
Core.Executor.Scripts
   .AddReference(vTable.TableName, vFields, vFields, vTable)
   .Row(vValues);
источник

N

Nik in Delphi & Lazarus
таким кодом сохранение вызывается
источник

DB

Dmitry Belkevich in Delphi & Lazarus
унидак, посмотрел, так же умеет, одинаковый код
источник

DB

Dmitry Belkevich in Delphi & Lazarus
я его там не правил даже, само всё легло
источник

N

Nik in Delphi & Lazarus
с точки зрения программиста пофигу, что стринг, что стрим сохранять
источник

N

Nik in Delphi & Lazarus
Dmitry Belkevich
вроде как самый прямой путь без лишних копирований
это да.. но вариант не кросс-СУБД )
источник

N

Nik in Delphi & Lazarus
плюс у меня не пишется сразу в БД, а ставить в очередь на сохранение
источник

DB

Dmitry Belkevich in Delphi & Lazarus
ну тут если удобство на первом месте. а если оптимизация - то стоит смотреть что бы копирований (и особенно преобразований) данных было минимум
источник