- Код: Выделить всё
procedure TForm1.Button11Click(Sender: TObject);
var bm: TMemorystream;
h, w, i: integer;
d:Pchar;
s:string;
begin
// Добавление новой строки
if LabeledEdit15.Text<>'' then //проверка ввода наименования
begin
Image2.Picture.Jpeg.GetSize(w,h); //измерение картинки
if (w<>0) or (h<>0) then // проверка наличия картинки
if (w>64) and (h>64) and (w<640) and (h<480) then // проверка правила размера картинки
begin
bm:=TMemorystream.Create;
Image2.Picture.Jpeg.SaveToStream(bm);
bm.Position:=0;
for i := 1 to bm.Size do
begin
bm.Read(d, 1);
s := s + d;
end;
end
else
begin
Label27.Visible:=true;
s:='';
end
else s:='';
// РАБОТА С БАЗОЙ
SQLQuery1.Active:=false;
SQLQuery1.SQL.Text:='insert into Tourizm (NAME, Note, Photo, Sinonim) values (:Name, :Note, :Photo, :Sinonim)';
SQLQuery1.Params.ParamByName('Name').AsString:=LabeledEdit15.Text;
SQLQuery1.Params.ParamByName('Note').AsString:=Memo1.Text;
SQLQuery1.Params.ParamByName('Photo').AsBlob:=s;
SQLQuery1.Params.ParamByName('Sinonim').AsString:=LabeledEdit14.Text;
SQLQuery1.ExecSQL;
SQLTransaction1.Commit;
bm.Free;
s:='';
button28.Click; //Обновление
Label18.Visible:=false;
Label27.Visible:=false;
end
else Label18.Visible:=true; //отображение сообщения
end;
т.е. записал поток в переменную string посимвольно, а затем через params внес в базу как blob.
Запись делает, но прочитать данное поле не получается (по крайней мере как картинку).