Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

How get data from BLOB Fields? [D6, IB6.x]


Ru ©   (2003-09-24 11:07:00) 

http://deep.webm.ru/forum/reply.php?num=1.2&id=8970&from=97


Ru   (2003-09-25 13:16:00) [1]

kaif © (25.09.03 12:37) [2]
Delirium © (25.09.03 12:44) [3]

спасибі :)


Delirium   (2003-09-25 12:44:00) [2]

Или попросту...

TBlobField(Query.FieldByName("Some")).SaveToStream(...);


kaif   (2003-09-25 12:37:00) [3]

var
st: TStream;

begin
with Data.Query do begin
SQL.Text := "SELECT * FROM SomeTBL";
Open;
st := CreateBlobStream(FieldByName("SomeF1"), bmRead);
try
EditFrame1.Edit.Lines.LoadFromStream(st);
finally
st.Free;
end;
end;
end


Ru   (2003-09-25 12:24:00) [4]

Использую InterBase 6х + IBX.
Есть процедура:
procedure SomeProc;
var
MStream1,MStream2:TMemoryStream;
begin
MStream1:=TMemoryStream.Create;
MStream2:=TMemoryStream.Create;

EditFrame1.Edit.Lines.SaveToStream(MStream1);
EditFrame2.Edit.Lines.SaveToStream(MStream2);

with Data.Query do begin
Close;
SQL.Clear;
SQL.Add("INSERT INTO SomeTBL (SomeF1, SomeF2)");
sql.Add("VALUES (:SomeF1, :SomeF2)");
Params[0].LoadFromStream(MStream1, ftBlob);
Params[1].LoadFromStream(MStream2, ftBlob);
ExecSQL;
end;

MStream1.Free;
MStream2.Free;
end;

Это все прекрасно, а как осуществить обратную процедуру (то есть сохранение из базы в поток) до меня не доходит.


Наверх

Титульная страница Поиск, карта сайта Написать письмо