ورود

View Full Version : مشکل در انتقال یه فیلد Blob



Accidentboy
پنج شنبه 05 مهر 1386, 14:17 عصر
سلام

من با روش TMemoryStream یه فایل Word (.dco ) رو تو یه جدول ذخیره کردم

حالا این فیلد Blob رو می خوام به یه جدول دیگه ببرم من از

DS_word_des.DataSet.Insert ;
// Transer Blob Field
TBlobField(DS_word_sou.DataSet.FieldByName('photo' )).SaveToStream(StreamPic );
TBlobField(DS_word_des.DataSet.FieldByName('photo' )).LoadFromStream(StreamPic);
///////////
DS_word_des.DataSet.Post ;

روش استفاده کردم انتقال پیدا می کنه ولی فایل رو باز نمی کنه

چی کار کنم ؟

Accidentboy
شنبه 07 مهر 1386, 08:41 صبح
کسی نظزی نداره ؟؟؟

Bahmany
یک شنبه 08 مهر 1386, 07:47 صبح
به نظر یه کمی خنده دار میاد ولی من هم همین مشکل رو داشته ام و این کد رو بینشون اضافه کردم و مشکلم حل شد

TBlobField(DS_word_sou.DataSet.FieldByName('photo' )).SaveToStream(StreamPic );
StreamPic.Savetofile('c:\tmp.tmp');
otherStream.loadFromFile('c:\tmp.tmp);

TBlobField(DS_word_des.DataSet.FieldByName('photo' )).LoadFromStream(otherStream);

البته هیچ فرقی با فراخوانی اون از حافظه نمی کنه ولی به هر حال استفاده از دو Stream مجزا و همچنین ذخیره سازی و فراخوانی از دو Stream مشکل من رو حل کرد !!

Accidentboy
دوشنبه 09 مهر 1386, 10:42 صبح
با تشکر
مشکل من حل شد من TQuery رابه TDataSource وصل کرده بودم جواب نداد ولی بعد از وصل TTable جواب گرفتم

DS_word_dbf.DataSet.Insert ;
TBlobField (DS_word_nmir.DataSet.FieldByName('photo')).SaveTo Stream(Stream);
Stream.Seek(0,soFromBeginning );
TBlobField(DS_word_dbf.DataSet.FieldByName('photo' )).LoadFromStream(Stream);
DS_word_dbf.DataSet.Post ;
Stream.Free ;