PDA

View Full Version : سوال: استخراج تصویر از اکسس



khorsandreza
پنج شنبه 01 بهمن 1388, 15:30 عصر
سلام
دیتابیس را در اختیار بنده قرار داده اند حاوی فیلدی از نوع OLE Object و در این فیلد تصاویری را ذخیره کرده اند که بعضی از فیلد های قالب Picture و بعضی قالب Bitmap Image را دارند (شکل پیوستی) حال مشتری درخواست نمود است که این تصاویر از داخل دیتابیس استخراج ش.د و بصورت فایل باشد که نام فایل شماره پرسنلی که در دیتابیس هست حال من در استخراج تصاویر با قالب Bitmap Image مشکلی ندارم تصاویر با این قالب را بصورت فایلی ذخیره میکنم ولی تصاویر با قالب Picture و یا غیره با خطا م.اجه میشوم

سعید صابری
پنج شنبه 01 بهمن 1388, 15:39 عصر
blob را در سایت سرچ کن.

khorsandreza
پنج شنبه 01 بهمن 1388, 15:58 عصر
blob را در سایت سرچ کن.
تصاویر را بر اساس blob استخراج میکنم اصلا قالب picture بعنوان تصویر نمیشناسد

حسین خانی
جمعه 02 بهمن 1388, 01:17 صبح
با سلام
میتونید از پروسیجر زیر استفاده کنید :


uses
DBGrids,jpeg,DB;
//-----
type
Procedure Load_pic;
//-----


procedure TForm1.Load_pic;
var
pic:TJPEGImage;
stream:tstream;
begin
pic:=TJPEGImage.Create;
Stream:=ADOTable1.CreateBlobStream(ADOTable1.Field ByName('Picture'),bmRead);
if stream.Size<>0 then
begin
pic.LoadFromStream(stream);
Image1.Picture.Assign(pic);
end
else
Image1.Picture.Graphic:=nil;
pic.Free;
stream.Free;
end;

//-----------------------------

procedure TForm1.DBGrid1Enter(Sender: TObject);
begin
Load_pic;
end;


موفق باشید ...

khorsandreza
جمعه 02 بهمن 1388, 12:26 عصر
با سلام
میتونید از پروسیجر زیر استفاده کنید :


uses
DBGrids,jpeg,DB;
//-----
type
Procedure Load_pic;
//-----


procedure TForm1.Load_pic;
var
pic:TJPEGImage;
stream:tstream;
begin
pic:=TJPEGImage.Create;
Stream:=ADOTable1.CreateBlobStream(ADOTable1.Field ByName('Picture'),bmRead);
if stream.Size<>0 then
begin
pic.LoadFromStream(stream);
Image1.Picture.Assign(pic);
end
else
Image1.Picture.Graphic:=nil;
pic.Free;
stream.Free;
end;

//-----------------------------

procedure TForm1.DBGrid1Enter(Sender: TObject);
begin
Load_pic;
end;


موفق باشید ...

سلام ضمن تشکر از وقتی گذاشتید این راهها را به طرق مختلف تست کردم خطا همان اس من شکل خطا را با دستور که شما نوشته بودید پیوست کردم و همجنین نمونه ای از فایل اکسس ممنون میشوم نگاهی بکنید

حسین خانی
شنبه 03 بهمن 1388, 19:18 عصر
دوست گرامی موقع ذخیره عکسهای با فرمت jpg از چه کدی استفاده کردید ؟
چون من با چند نوع کد مختلف خواستم بازیابی کنم ولی مثل اینکه درست ذخیره نشده اند !!!

khorsandreza
شنبه 03 بهمن 1388, 23:36 عصر
دوست گرامی موقع ذخیره عکسهای با فرمت jpg از چه کدی استفاده کردید ؟
چون من با چند نوع کد مختلف خواستم بازیابی کنم ولی مثل اینکه درست ذخیره نشده اند !!!
این تصاویر را در محیط Paint ویندوز باز کرده اند و در انجا کپی گرفته در محیط اکسس Past انجام داده اند چون این کار را چند نفر انجام داده اند فرمتهای متفاوتی در بانک ذخیره شده صحیح ترین روش ذخیره به صورت bitmap بوده حال موقع تجمع این اطلاعات و انتقال به محیط دیگر این تصاویر با اشکال مواجه شده
جالب است این تصاویر در محیط دیزاین فرم اکسس درست نشان داده میشود