neznayka3 После восьмого марта разбираться в чужом коде....
Вот тебе работающий код:
[more=код]
procedure pr_LoadReport (_DocN : LongInt);
var
Stream: TMemoryStream;
begin
with DM_II do begin
fr_Report.Clear;
tbl_Report.First;
while not tbl_Report.Eof do begin
if tbl_Report.FieldbyName('rpt_ID').AsInteger = _DocN then begin
Stream := TMemoryStream.Create;
TBlobField(tbl_Report.FieldbyName('rpt_Blob')).SaveToStream(Stream);
Stream.Position := 0;
if Stream.Size > 0 then begin
fr_Report.LoadFromStream(Stream);
fr_Report.FileName := tbl_Report.FieldbyName('rpt_Remark').AsString;
end;
Stream.Free;
break;
end;
tbl_Report.Next;
end;
end;
end; // pr_LoadReport
[/more]
Шаблон читается из базы по ID
[more=Структура таблицы шаблонов]
procedure pr_CreateSystemTableReport;
begin
q_ := fn_QueryCreate;
try
with q_ do begin
Close;
SQL.Clear;
SQL.Add ('CREATE TABLE ' + rs_NameTableReport + '(');
SQL.Add ('rpt_ID int NOT NULL,');
// SQL.Add ('rpt_Prg int NULL,');
SQL.Add ('rpt_Remark varchar(100) NULL,');
SQL.Add ('rpt_Blob ntext NULL,');
SQL.Add ('PRIMARY KEY (rpt_ID))');
gv_SQLText := SQL.Text;
Execute;
Free;
end; { with q_ }
except
pr_ShowError (rs_StrErrorQuery, '',gv_SQLText);
end;
end;
[/more]