Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.16;
Скачать: CL | DM;

Вниз

How get data from BLOB Fields?   Найти похожие ветки 

 
Ru ©   (2003-09-24 11:07) [0]

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


 
Ru ©   (2003-09-25 12:24) [1]

Использую 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;

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


 
kaif ©   (2003-09-25 12:37) [2]

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


 
Delirium ©   (2003-09-25 12:44) [3]

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

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


 
Ru ©   (2003-09-25 13:16) [4]

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

спасибі :)



Страницы: 1 вся ветка

Текущий архив: 2003.10.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
3-51096
Filat
2003-09-19 10:33
2003.10.16
SQL выборка и переход на эту запись в DataSet


1-51249
Yakudza
2003-10-06 17:54
2003.10.16
Уникальный индефикатор


3-51072
Filat
2003-09-25 19:47
2003.10.16
Как программно определить какая версия сервера?


1-51291
Сергей Резников
2003-10-07 11:39
2003.10.16
Шизы с TStrings


6-51365
andrewxx
2003-08-21 16:24
2003.10.16
Indy POP3