PDA

نسخه کامل مشاهده نسخه کامل : سئوال درباره detailsview



gipsi
24-05-2008, 21:07
سلام.
من مي خوام با detailsview اطلاعات رو به همراه عكس در ديتا بيس ذخيره كنم و تو gridview نمايش بدم.حالا احتياج به يك دكمه browse دارم كه براي ذخيره يك عكس جديد يا ويرايشش لازم دارم.بلد نيستم چي كار كنم.ضمنا سرچ هم كردم.

Bracket
25-05-2008, 11:00
یه چیز کلی بگم اول اگر تعداد و حجم عکس ها زیاده پیشنهاد میکنم عکس رو تو دیتا بیس ذخیره نکنی .
ولی برای اپلود عکس در دیتا بیس در web از کنترل FileUpload استفاده کن تو ویندوز app از FileDialog . یه ستون از نوع Binary یا Varbinary تو دیتا بیس بساز عکس رو اونتو ذخیره کن بد نیست حجم عکس رو هم ذخیره کنی اگر Mime های مختلف داری نوع عکس رو هم ذخیره کن (تو قسمت ذخیره اگر مشکلی داری بگو تا بیشتر توضیح بدم) .
برای خوندن اطلاعات عکس هم بهتره از DataReader استفاده کنی فقط نکتش اینه که وقتی با DataReader اطلاعات از نوع Binary رو میخونی باید همونجا اونو به Byte تبدیل کنی با TryCast میتونی این کار رو بکینی بعد Header و نوع و حجم رو به عکس اضافه کن .
این خلاصش بود .

Ultimator
25-05-2008, 13:39
سلام
بهتره شما فایل رو آپلود کنید و فقط ادرس عکس رو تو بانک ذخیره کنید . . .

gipsi
25-05-2008, 17:46
سلام .ممنون ، ولي خلاصه نگيد .من تازه به جمع تازه كارها وارد شدم.تقريبا تو آپلود مشكلي ندارم(فكر كنم).مشكل اينه كه براي ذخيره كردن عكس يك دكمه browse ميخوام كه عكسمو اول پيدا كنم و بعد آدرس عكسو ذخيره كنم.(نمي دونم خوب مفهوم سئوالمو رسوندم يا نه )حالا اين دكمه رو نمي دونم چجوري تو detailsview بذارم .

gipsi
26-05-2008, 19:08
سلام.
من از خير detailsview گذشتم،چون به نتيجه نرسيد.حالا به صورت معمولي مي خوام يك عكس رو در ديتابيس ذخيره كنم.براي ذخيره هم از اين توابع استفاده كردم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

فكر نكنم مشكلي داشته باشن.در آخر هم اطلاعات رو تو gridview نمايش دادم .حالا مشكل اينجاست كه تو ستون img_data به جاي تصوير [ ]System.Byte نشون مي ده.چرا؟

Bracket
26-05-2008, 21:34
خوب شما Binary ذخیره کردی Binary بر میگردونی , باید Binary رو داخل یه فایل بریزی و به Byte تبدیل کنی بعد اون فایل رو نمایش بدی .
بهترین راه اینه که یه صفحه درست کنی یا یک web handler اسمش رو بزاری مثلا Image بعد عکس رو تو اون صفحه Response کنی بعد به ادرس اون صفحه رو به عنوان عکس بفرستی .
سعی میکنم کدش رو برات بزارم .

gipsi
28-05-2008, 07:15
لطفا كدش رو بذاريد.البته مثل اينكه با اين روش يعني به صورت باينري ذخيره كردن فقط پسوند bmp رو جواب ميده.

Ultimator
28-05-2008, 08:55
فکر کنم این نمونه بد نباشه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Bracket
28-05-2008, 12:35
لطفا كدش رو بذاريد.البته مثل اينكه با اين روش يعني به صورت باينري ذخيره كردن فقط پسوند bmp رو جواب ميده.
نه ربطی نداره هر پسوندی میشه من این کدهارو براتون آپلود کردم برای مجموعه های LearnVisualStusio.Net هست Insert و Read رو جفتش رو داشت البته فیلمم داره ولی حجمش خیلی زیاده نمیتونم آپلود کنم این کارتون رو راه میندازه . البته هنوزم توصیه میکنم اگر تو دیتا بیس ذخیره نکنین شاید بهتر باشه .

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

Ultimator
28-05-2008, 17:28
براکت خان مثالتون رو نتونستم دانلود کنم رپید یکم دلپیچه گرفته !!
اما فکر کنم اون کدی که بالا نقل کردم ( از استاد h2 ) کار رو راه بندازه
همینطور شرمنده حواسم نبود که کد سی شارپ مورد نیازتونه گرچه فرقی نداره اما این هم نمونه #C


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

gipsi
30-05-2008, 05:00
سلام
من دانلود كردم .مشكلي نداشت.

Ultimator
30-05-2008, 08:58
احتمالا بله مشکلی نداره ولی رپیذشر با من قهره سر به سرم میذاره !

gipsi
02-06-2008, 08:21
سلام.
اينكه گفتيد فقط آدرس عكس رو ذخيره كنم،من اينكارو كردم:
اول تو sql server نوع ستون عكس رو varchar كردم.بعد هم تو دستور sqlcommand مثلا همچين كدي گذاشتم



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

كه اسم عكس رو ذخيره مي كنه.براي نمايش عكس در گريد ويو هم از طريق gridview tasks يك imagefield ساختم و DataImageUrlField رو برابر همون ستون image قرار دادم.dataimageurlformatstring رو هم آدرس پوشه اي كه عكسام هست كردم .مثلا :
G:\\Documents and Settings\\My Documents\\My Pictures\\{0}.jpg
اينا درسته يا نه؟اگه درست نيست لطفا روش درستشو بگين اگر هم هست پس چرا عكسها رو تو gridview نشون نمي ده؟

Bracket
02-06-2008, 11:16
خوب دوست عزیز عکس ها رو با چه اسمی ذخیره میکنی ؟

Ultimator
02-06-2008, 11:20
سلام.
اينكه گفتيد فقط آدرس عكس رو ذخيره كنم،من اينكارو كردم:
اول تو sql server نوع ستون عكس رو varchar كردم.بعد هم تو دستور sqlcommand مثلا همچين كدي گذاشتم



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

كه اسم عكس رو ذخيره مي كنه.براي نمايش عكس در گريد ويو هم از طريق gridview tasks يك imagefield ساختم و DataImageUrlField رو برابر همون ستون image قرار دادم.dataimageurlformatstring رو هم آدرس پوشه اي كه عكسام هست كردم .مثلا :
G:\\Documents and Settings\\My Documents\\My Pictures\\{0}.jpg
اينا درسته يا نه؟اگه درست نيست لطفا روش درستشو بگين اگر هم هست پس چرا عكسها رو تو gridview نشون نمي ده؟

نه نه نه
اون فرمت نیازی نیست .

gipsi
03-06-2008, 05:44
سلام


خوب دوست عزیز عکس ها رو با چه اسمی ذخیره میکنی ؟

(اميدوارم درست متوجه شده باشم)مثلا اگه مشخصات عكسي photo01.jpg باشه،همينم ذخيره مي شه.مشكلش چيه؟

نه نه نه
اون فرمت نیازی نیست .
تا اونجايي كه من فهميدم يا از اون فرمت بايد استفاده كرد يا از Eval ،كه البته هيچ كدومشون جواب ندادن.

Ultimator
03-06-2008, 09:00
این رو به تمپلیت کدتون اضافه کنید :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
تمومه مگه نه ؟

gipsi
03-06-2008, 21:46
بله تمومه.البته در صورتي كه عكسها هم دقيقا تو مسير صفحه پيش فرض باشن و تو پوشه ديگه اي ذخيره نشده باشن و گرنه جواب نميده و بايد از Eval استفاده كنم.اگه مثلا عكسها رو تو پوشه IMG بريزم دستورش اين ميشه



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
درسته ديگه؟ولي نمي دونم چرا جواب نمي ده

Ultimator
03-06-2008, 22:05
نه دیگه اگه url عکس رو درست ذخیره کرده باشید فرمت نیازی نیست
آدرس عکس میشه این : اگه تو روت باشه image.jpg اگه تو پوشه img باشه : img/image.jpg

اگه به این صورت ذخیره شده باشه eval بدون فرمت استرینگ جواب میده
و دیگر هیچ