PDA

View Full Version : قرار دادن عکس در گزارش به صورت دینامیک



mahdi_sun
یک شنبه 02 دی 1386, 23:12 عصر
سلام قبل از اینکه بحث شروع کنم می گم که این مطلب تکراری است ولی من با این که تمام قبلی ها رو خوندم ولی جواب عملی نگرفتم خیلی از جوابها کلی است بعضی هم در حد تئوری پس از دست من ناراحت نشین و به جای حذف این سوال لطفا یه جواب کامل به من بدین باید تا آخر هفته پروژه رو تحویل بدم فقط این قسمتش مونده پیشاپیش از شما تشکر می کنم.
سوال:من آدرس عکس ها رو در با نک دارم و می خواهم عکس مربوط را در گزارش نمایش بدم در ضمن ممکنه بعضی از عکسها null با شه.

آسمان آبی
جمعه 07 دی 1386, 11:12 صبح
ایشون درست میگن منم هنوز با این مسئله مشکل دارم

el_abdollahi
سه شنبه 11 دی 1386, 14:54 عصر
روش بهتر اینه که به جای مسیر عکس , خود عکس رو توی دیتابیس ذخیره کنید .

sinpin
سه شنبه 11 دی 1386, 15:21 عصر
روش بهتر اینه که به جای مسیر عکس , خود عکس رو توی دیتابیس ذخیره کنید .

اینکار ممکنه در اینجور موارد باعث راحتی بشه ولی به 1001 دلیل روشی کاملا اشتباه است

ali_kolahdoozan
سه شنبه 11 دی 1386, 17:22 عصر
چرا ؟ میشه بگی چرا؟ دلیل حرفت رو مستند بگو تا پستت رو پاک کن

آسمان آبی
سه شنبه 11 دی 1386, 18:34 عصر
بله این روش مشکل داره به عنوان مثال ما بالای گزارشهامون لوگوی شرکت ها رو باید بیاریم حالا این لوگو داخل دیتابیس به صورت image ذخیره شده حالا فرض کنید تعداد صفحات گزارش زیاد شود مثلا 100 صفحه. CrystalReport برای هر صفحه که میخواد لوگو رو بسازه می ره از داخل دیتابیس لوگو رو می خونه و تبدیلات لازم رو برای اینکه به عکس قابل نمایش تبدیل بشه رو روی اون انجام می ده که این تبدیلات بسیار زمان بره به طوریکه من به عنوان مثال برای یک گزارش تست کردم یک picture رو تو کریستال ریپورت Add کردم و لوگوی شرکت رو داخل یک آن انداختم و زمان را اندازه گیری کردم حدودا 25 ثانیه شد ولی وقتی همین لوگو رو که به صورت فیلد image داخل Sql است رو داخل کریستال انداختم همون گزارش رو تا حدود 10 دقیقه رفت و من چون خسته شدم دیگه برنامه رو بستم و مطمئنا خیلی بیشتر از اینها زمان می برد . حالا مشکل اساسی ما اینه که تو کریستال ست کردن عکس به Picture داینامیک نیست و فقط یه عکس ثابت رو میشه به اون داد.

VB.NET2005
سه شنبه 11 دی 1386, 18:38 عصر
یکی جواب بده خواهشن .

sinpin
چهارشنبه 12 دی 1386, 08:22 صبح
چرا ؟ میشه بگی چرا؟ دلیل حرفت رو مستند بگو تا پستت رو پاک کن

این حرف از شما بعید بود آقای کلاهدوزان

در هر صورت بعضی از مشکلات ذخیره عکس در دیتابیس :
1- زیاد شدن بیهوده ی حجم دیتابیس (و طبعا مشکلات نگهداری و پشتیبانگیری و ...)
2- ایجاد کندی در کوئری ها و ...
3- و ...

Leo_messi
چهارشنبه 12 دی 1386, 12:05 عصر
شما باید عکس رو به صورت باینری بریزی تو یه دیتا ست و اونو بدی به کریستال

ali_kolahdoozan
چهارشنبه 12 دی 1386, 13:00 عصر
راه دیگری برای کار با کریستال بجز ذخیره در db یا افزودن stream تصویر یه صورت یک columnn جدید در دیتاتیبل و بعد فرستادن یه گزارش است . اینطوری تصویر توی db نیست ولی موقع گزارش گیری اون رو توی db داری .

اما کلا بگم برای تصاویر کم حجم مثلا در حد تصویر یک پرسنل بهتره بریزیش توی db تا راحت باشی . هیچ عیبی هم نداره . همه تست کنید بد شد با من . میمونه برای کارهایی که تصویر ها زیاد و سنگین میتونه منطقی نباشه اونم بستگی به شرایط داره . مثلا توی یک کار بود یک رکورد می خورد توئی یک جدول مستر و جدول دیتیل برای آن رکورد صدها رکورد داشت که هر کدام یک تصویر داشت . تعداد تصاویر هم زیاد بود و پر حجم آنجا ما برخوردمون با تصاویر به شکل دیگری شد . اما یک چیزی را تابو نکنید و بیخودی هم روش تاکید کنید . من خیلی جاها تست کردم از خیلی از admin های دیتابیسهای بزرک خارجی پرسیدم . با نویسندگان همین pdf هایی که ریخته توی بازار مشورت کردم و با email تماس داشتم . عیبی در این کار با لحاظ کردن وضعیت البته وجود نداره

hesam_a110
چهارشنبه 12 دی 1386, 15:58 عصر
درود بر شما من این کارو کردم و عکس و میزیزم توی دیتابیس و بعد توی گزارش ازاش استفاده می کنم مشکل بزرگ اون اینکه حجم دیتابیس رو می بره بالا حال اگه بشه یه راه حل منطقی تری برای اون استفاده کرد خیلی عالیه
پیروز و نیک باشید

j.farazani
شنبه 15 دی 1386, 17:58 عصر
سلام دوستان

منم مشکلی رو که دوستمون در پست قبلی اعلام کردند دارم . لطفا جواب ایشون رو بدید

بازم ممنون

sm
دوشنبه 17 دی 1386, 11:24 صبح
یکی از روشهایی که میشه استفاده کرد و نیازی به Database نیز ندارد اینه که شما توی برنامه یه DS ایجاد کنین و اونو از مسیر فایلهاتون پر کنین و نهایتا هم به گزارش Bind کنین.
من یه نمونه از همین کار رو توی 2005 و 2003 با VB انجام دادم. اینجا میزارم تا دوستان بتونن استفاده کنن.
مزیت این روش در اینه که شما میتونین براحتی و بدون نیاز به بانک اطلاعاتی عکسها را نمایش بدین.
نمونه تکمیل شده اونو توی یه پست جداگانه میزارم.

موفق باشید

arlen_bs
پنج شنبه 29 فروردین 1387, 11:27 صبح
در کریستال ریپورت 10 من یکسری تصاویر را که در دیتابیس ذخیره شده است را می خواهم چاپ بگیرم ولی تصاویر همگی به یک اندازه چاپ می شود
آیا کسی می دونه به چه صورت می توان هر عکس را در اندازه واقعی خود چاپ گرفت ؟

mosiera98
سه شنبه 03 اردیبهشت 1387, 23:06 عصر
ببین عزیزم من واسه یه پروژه این کارو کردم:
یک آبجکت از نوع بیتمپ به گزاشم اضافه کردم و بعد اونو لینکش دادم به همون فایل عکسی که
خودم میخواستم


خیلی کارمو راه انداخت

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

مفهومه ؟......................؟