Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.07.28;
Скачать: [xml.tar.bz2];

Вниз

Работать с BLOB полями в INTERBASE, через IBX компоненты.   Найти похожие ветки 

 
s_ser   (2003-06-24 12:25) [0]

Мастера плиз помогите. Как лутше работать с BLOB полями в INTERBASE, через IBX компоненты.


 
Johnmen   (2003-06-24 12:38) [1]

Пpиводим пpимepы pаботы с blob-полями (для FIBPlus, для IBX - аналогично).

pFIBDatase1BLOBFIELD - полe типа BLOB датасeта pFIBDatabase1
Чтение из блоб-поля в OleContainer
var S: TStream;
begin
if not pFIBDataset1BLOBFIELD.IsNull then
begin
S:=pFIBDataset1.CreateBlobStream(pFIBDataset1BLOBFIELD, bmRead);
try
OleContainer1.LoadFromStream(S)
finally
S.Free
end;
end;
end;

Запись в блоб-полe из OleContainer (вызываeтся в BeforePost)
var S: TStream;
begin
S:=pFIBDataSet1.CreateBlobStream(pFIBDataSet1BLOBFIELD,
bmReadWrite);
try
OleContainer1.SaveToStream(S)
finally
S.Free
end;
end;


 
s_ser   (2003-07-02 13:36) [2]

Та проблема вовсе не в том как запихнуть или потом извлечь от туда данные: если это рисунок то вообще нет никаких проблем, а вот если мы например запихиваем туда *.doc, *.xls,*.rar, то при оьратном заборе данных я получаю полный брет....


 
Johnmen   (2003-07-02 13:42) [3]

Приводи код, как запихиваешь и оьратно забираешь.


 
s_ser   (2003-07-04 17:01) [4]

Запихиваю так
procedure TfrmScan.SpeedButton_fileClick(Sender: TObject);
var
name,file_name,type_file:String;
i,count_name,current_slash:Integer;
begin
OpenPictureDialog1.Execute;
name:=OpenPictureDialog1.FileName;

count_name:=Length(name);
file_name:=ExtractFileName(name);
type_file:=ExtractFileExt(name);
try
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
except
begin
//
end;
end;
if OpenPictureDialog1.FileName<>"" then
begin
dmMain.Save_Transaction.Active:=false;
dmMain.Save_Transaction.StartTransaction;
dmMain.StoredProc_All.Transaction:=dmMain.Save_Transaction;
dmMain.StoredProc_All.Database:=dmMain.DatabaseKRU;
dmMain.StoredProc_All.StoredProcName:="ADD_LETTER_ARHIV";
dmMain.StoredProc_All.Prepare;
dmMain.StoredProc_All.ParamByName("D_ID_LETTER").Value:=id_later_now;
dmMain.StoredProc_All.ParamByName("D_PAGE_DOC").Value:=1;
dmMain.StoredProc_All.ParamByName("D_NAME_DOC").Value:=file_name;
dmMain.StoredProc_All.ParamByName("D_DOC").LoadFromFile(OpenPictureDialog1.FileName,ftMemo);
dmMain.StoredProc_All.ExecProc;
dmMain.Save_Transaction.Commit;

end;
Query_file.Active:=false;
Query_file.Active:=true;
end;
а забираю обратно так
procedure TfrmScan.DBGrid1DblClick(Sender: TObject);
var
Stream:TStream;
Name:String;
Save: TFileStream;
begin
Stream:=TStream.Create;
Stream:=Query_file.CreateBlobStream(Query_file.FieldByName("DOC"),bmRead);
Name:=Query_file.FieldByName("name_doc").asString;
Query_Save.Active:=false;
Query_Save.Transaction:=dmMain.Read_Transaction;
Query_Save.ParamByName("param_doc").Value:=Query_file.FieldByName("id_doc").Value;
Query_Save.Active:=true;
Stream:=TStream.Create;
Stream:=Query_Save.CreateBlobStream(Query_Save.FieldByName("DOC"),bmRead);
Save:=TFileStream.Create("c:\"+name,fmCreate);
Save.Write(Stream,Stream.Size);
Save.Free;
Stream.Free;
end;
Робовал разные типы полей BLOB



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

Форум: "Базы";
Текущий архив: 2003.07.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
14-91820
XobBIT
2003-07-10 13:50
2003.07.28
Мастера подскажите, откуда берете иконки для программ


14-91900
Феликс
2003-07-12 15:51
2003.07.28
Вот клоуны блин :)


1-91729
drunya
2003-07-12 21:47
2003.07.28
Формулы в Word e из Delphi


14-91894
Катрин
2003-07-11 19:32
2003.07.28
Память в Delphi


3-91641
Wistler
2003-07-02 02:33
2003.07.28
BDE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский