![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
blob sql [D7, MSSQL]
ptr_fm © (2006-09-08 12:45:00)Добрый день, помогите пожалуйста
Записываю так JPG файл, но при попытке просмотреть его он выдает что поле пустое Nil; Где может быть ошибка. SizeStream везде меняется в зависимости он размера файла которое выбираю.
var
Stream: TStream;
Stream2: TBlobStream;
begin
if not (Field.DataSet.State in [dsEdit, dsInsert])
then Field.DataSet.Edit;
Field.Clear;
if Assigned(Picture.Graphic) then
if not Picture.Graphic.Empty then
begin
Stream := TMemoryStream.Create;
try
Picture.Graphic.SaveToStream(Stream);
SizeStream := stream.Size;
Stream.Position := 0;
Stream2:=TBlobStream(Form1.ADOTable1.CreateBlobStream(Form1.ADOTable1.FieldByNam e('Foto1'),bmReadWrite)); // запись
Stream2.Position := 0;
Stream2.CopyFrom(Stream, Stream.Size);
SizeStream := stream2.Size;
Form1.ADOTable1.Post;
finally
Stream.Free;
end;
end;
end;
ptr_fm (2006-09-12 10:54:00) [1]Спасибо!!!!!!!!!
Все отлично работает!!!!!
Shaman_ (2006-09-09 15:15:00) [2]А чего так заморочено то все?
Так не работает разве?:
var
Stream: TStream;
begin
if not (Field.DataSet.State in [dsEdit, dsInsert])
then Field.DataSet.Edit;
Field.Clear;
if Assigned(Picture.Graphic) then
if not Picture.Graphic.Empty then
begin
Stream := TMemoryStream.Create;
try
Picture.Graphic.SaveToStream(Stream);
Stream.Position := 0;
TBlobField(Form1.ADOTable1.FieldByName('Foto1')).LoadFromStream(stream);
Form1.ADOTable1.Post;
finally
Stream.Free;
end;
end;
end;
ptr_fm (2006-09-08 14:27:00) [3]Когда ставлю POST после то при очистке Stream2 появляется ошибка Bitmap image is not valid
ptr_fm (2006-09-08 13:14:00) [4]Вот так? Я правильно понял?
Stream2.CopyFrom(Stream, Stream.Size);
SizeStream := stream2.Size;
finally
Stream.Free;
Stream2.Free;
end;
Form1.ADOTable1.Post;
Правильный Вася (2006-09-08 12:52:00) [5]Stream2 разрушать дядя будет?
AFAIR, до Post надо.