![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;
Это все прекрасно, а как осуществить обратную процедуру (то есть сохранение из базы в поток) до меня не доходит.