الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية اظهار صورة في Crystal Report ؟

بدأه Tariq Kadri في 13 أكتوبر 2010 · 5 رد · 3,150 مشاهدة · في تصميم وبرمجة التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ،

واجهتني مشكلة في اظهار صورة في تقرير ال crystal report بحيث يتم استدعاء مسار الصورة من قاعدة البيانات ليتم اضهارها على التقرير ( الصورة مخزنة في Folder ويتم حفظ مسارها في DB ).بحيث انه لدي Crystal Report 10.5 الموجود مع ال Visual Studio 2008 .

لقد حاولت بعدة طرق ولم تظهر بحيث ان الطريقة الاعتيادية هو اضافة Ole Object الصورة من Insert ثم الذهاب الى Format object و ختيار Pictuer Tab وتغيير المسار من Location .. ولكن هذا الخيار غير ظاهر لدي فقط يظهر مقاسات الصورة ولا اعلم ما المشكلة و كيفية حلها .

طبعا انشاءلله راح احاول ان ابحث عن الحل وإن شاء الله كمان اتساعدوني في حلها وانا لكم شاكراً.

اخوكم طارق

Best Regards

Tariq Kadri

Software Engineering

#2

قم بحفظ الصورة داخل حقل في قاعده بياناتك علي ان يكون نوع بيانات هذا الحقل يقبل بيانات من نوع Binary Data بعد ذلك قم باستدعاء الصورة كأي حقل تريد ان تستدعي بياناته داخل التقرير من خلال مصدر البيانات

مثال لحفظ صورة داخل جدول في قاعده البيانات من نوع Binary Data

CREATE TABLE Employees  
(  
    Id int,  
    Name varchar(50) not null,  
    Photo varbinary(max) not null  
)  


INSERT INTO Employees (Id, Name, Photo) SELECT 10, 'John', BulkColumn from Openrowset ( Bulk 'C:\Users\mfouad\Desktop\Photo\15092010933.jpg', Single_Blob) as EmployeePicture

للتعديل علي الصورة

UPDATE Employees SET [Photo] = (SELECT MyImage.* from Openrowset(Bulk 'C:\photo.bmp', Single_Blob) MyImage) where Id = 10

لحذف الصورة من قاعده البيانات

delete  from Employees where Id = '10'

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#3

شكرا اخ محمد فؤاد على الرد و الاجابة ... ولكن للاسف ليس المطلوب لاني اريد تخزين مسار الصورة في Database و استدعاء الصورة في التقرير على حسب المسار وليس تخزين الصورة نفسها , و طريقتك افضل بس بتوخد مساحة كبيرة لاني اتعامل مع اكثر من 1000 صورة .

هل في طريقة ان استدعي الصورة و اظهارها في التقرير عن طريق مسارها في ال Database؟ وشكرا

Best Regards

Tariq Kadri

Software Engineering

#4

هناك خاصية جديده نزلت مع SQL Server 2008 وهي filestream وهي عبارة عن ميزة جديده لحفظ البيانات مثل الصور والبيانات التي تستهلك مساحات كبيرة خارج قاعده البيانات لتلافي موضوع الحمل علي قاعده البيانات والمساحات وما الي ذلك

ستجد مقالة هنا تتحدث عن هذه الخاصية

http://msdn.microsoft.com/en-us/library/cc949109(SQL.100).aspx

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#5

شكرا للاخ علي الفكرة محمد فؤاد تركي

يمكن هذة الجملة في stored procedure ومنادات stored procedure في التقرير

(SELECT MyImage.* from Openrowset(Bulk filedpath, Single_Blob) MyImage)

انا لم اجربها ولكن اعتقد ستعمل

#6
KARIMSOFT كتب:

شكرا للاخ علي الفكرة محمد فؤاد تركي

يمكن هذة الجملة في stored procedure ومنادات stored procedure في التقرير

(SELECT MyImage.* from Openrowset(Bulk filedpath, Single_Blob) MyImage)

انا لم اجربها ولكن اعتقد ستعمل

أخي الفاضل :

يمكنك عمل Formula في كرستل ريبورت تحمل مسار الصورة ثم تمرر هذا الـ Formula إلي خاصية الـ Location للخاص بكائن OLE

مواضيع مشابهة