ورود

View Full Version : چطوری بانک اطلاعاتی ایجاد کنم که یکی از فیلدهای اون عکس باشه



zapata-es
چهارشنبه 28 اردیبهشت 1384, 22:21 عصر
با سلام خدمت سروران گرامی.
دوستان عزیز خلاصه بگم فرض کنیم .چطوری یک بانک اطلاعاتی ایجاد کنم که مثلا سه فیلد داشته باشه مثل: نام کالا کد کالا و عکس مربوط به اون کالا
و سوال دوم اینکه چطوری درهنگام وارد کردن نام کالا میشه عکس مربوط به اون رو به کاربر نشون داد. مشکلم این فیلد عکس هست.
یه کم sql کار کردم :mrgreen: یه کم هم vb :mrgreen:
چون تازه کار و مبتدی هستم :oops: لطفا واضح توضیح بدید. خیلی خیلی ممنونم.

hadi2345
چهارشنبه 28 اردیبهشت 1384, 22:34 عصر
شاید روشهای دیگری هم وجود داشته باشه ولی من همیشه از این روش استفاده کردم و هیچ وقت به مشکل برنخوردم.
اول یک imagebox و یک commondialog و همچنین یک commandbutton بر روی فرم قرار میدهی و کد زیر را برای button میگذاری :



Dim source As String
CommonDialog1.Filter = ".jpg"
CommonDialog1.ShowOpen
source = CommonDialog1.FileName
Image1.Picture = LoadPicture(source)

Adodc1.Recordset.AddNew
Adodc1.Recordset!id = Text1.Text
Adodc1.Recordset!Name = Text2.Text
Adodc1.Recordset!source = source
Adodc1.Recordset.Update

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


Text1.Text = Adodc1.Recordset!id
Text2.Text = Adodc1.Recordset!Name
If Len(Adodc1.Recordset!source) <> 0 Then
Image1.Picture = LoadPicture(Adodc1.Recordset!source)
Else
Image1.Picture = LoadPicture()
End If

zapata-es
چهارشنبه 28 اردیبهشت 1384, 23:07 عصر
ببخشید که من انقدر مبتدی هستم :sunglass: .
آیا تنظیمات دیگه ای لازم هست یا نه ؟؟؟؟
روی این قسمت Adodc1.Recordset.AddNew پیغتم object require میده.
درضمن میشه بگید کدی که داخل command1 مینویسم چه عملی رو انجام میده؟؟
یعنی اطلاعات رو داخل یک فایل ذخیره میکنه؟؟؟ یا نه

In_Chan_Nafar
چهارشنبه 28 اردیبهشت 1384, 23:18 عصر
سلام
اگه شما می خوای عکست تو دیتابیست باشه که در اینصورت امنیت میره بالا، اگه دیتابیست SQL Server باشه باید نوع فیلدتو Image و اگه Access باشه باید OLE انتخاب کنی که با دستورای خاصی میتونی این فیلدو مقداردهی کنی. اگه بخوای با روشی که بالا گفتن عمل کنی امنیت خیلی پایین میاد. اگه خواستی می تونم واست یه مثال بذارم فقط بگو دیتابیست چیه.
دوستان خواهشا حداقل هنگام پاسخگویی این قانون CopyRight رو رعایت کنن. :موفق:

hadi2345
پنج شنبه 29 اردیبهشت 1384, 05:38 صبح
دوست عزیز منظور شما رو از رعایت copyright رو اصلا متوجه نشدم. لطفا بیشتر توضیح بدید . اگر در مورد کدی است که بالا نوشته ام . این کد را دقیقا دو سال قبل نوشته ام و مطمئن باشید اگر کد را از جایی برداشته بودم حتما به منبع اصلی کد اشاره می کردم . و اگر منظور شما چیز دیگری است لطفا بیشتر توضیح بدید .
در مورد ذخیره مستقیم عکس در database باید به این نکته توجه داشت که اگر حجم عکسها زیاد باشد سرعت query ها به شدت پایین می آید و مشکلات دیگری هم وجود دارد .

hadi2345
پنج شنبه 29 اردیبهشت 1384, 06:25 صبح
من یک برنامه گذاشتم که نحوه ذخیره کردن عکس رو بهت نشون میده و البته این برنامه فقط نحوه ذخیره و سپس نمایش عکس رو از database نشون میده .
البته برنامه ایرادهایی هم داره ولی همونطور که گفتم بیشتر به این منظور این برنامه رو گذاشتم تا قلق کار دستت بیاد .
اگه خواستی یه نمونه برنامه هم میتونم بذارم که خود عکس رو تو database ذخیره کنی.
البته همون طور که in_chan_nafar هم نوشته این روشی که من بکار بردم از لحاظ امنیتی مشکل داره . یعنی اگه اون عکسهایی رو که ذخیره کردی پاک شن یا جابجا شن دیگه عکسها رو نمیتونی load کنی و مشکل خواهی داشت .

zapata-es
پنج شنبه 29 اردیبهشت 1384, 08:28 صبح
آقا دم همتون گرم و سرتون خوش.
خیلی خیلی ممنونم که جواب میدین. از شما چه پنهون من واسه شرکتی که داخلش کار میکنم میخوام این برنامه رو بنویسم که این اطلاعات رو وارد بانک کنم:
کد قطعه-نام قطعه-عکس مربوطه- و یه سری اطلاعات دیگه .میخوام این برنامه رو به صورت exe شده روی سی دی بریزم . در ضمن تعداد رکوردها هم زیاد نیست چیزی حدود 200 رکورد هست .میخوام از vb و sql استفاده کنم البته نمیدونم که این بهترین راه هست یانه. خلاصه اینطوریه که گفتم. مشکلم فقط کدی هست که بتونم این 200 رکورد را وارد کنم و یک بانک بسازم و مشکل دومم هم بازیابی رکورد مورد نظر به همراه عکس مربوطه هست.
تا شنبه هم بیشتر وقت ندارم. آبروم در خطره. در ضمن میشه بعد از اینکه لطف کردین و مشکل رو حل کردین برای من بگید چطوری میتونم یه منبع خوب واسه یادگیری vb پیدا کنم. کتابی سایتی چیزی. کتاب دارم اما از نداشتنش بهتره... :mad:

hadi2345
پنج شنبه 29 اردیبهشت 1384, 12:54 عصر
با سلام .
امیدوارم که برنامه رو به سلامتی تحویل بدی .
اگه تعداد رکوردهات همون تعداده که نوشتی به نظر من ACCESS هم خوبه چون خیلی خیلی بیشتر از اون رو هم SUPPORT میکنه .
من یک برنامه دیگه که عکس رو بصورت OLE در DATABASE ذخیره میکنه رو برات میذارم ( کد اونو از Visual Studio Source Code2003 ورداشتم ) .
در مورد کتاب هم کتاب VB بهرام پاشایی خوب است.
البته اگه کتابی در این مورد ( database ) میخوای که باید بگم بهترین کتاب برنامه نویسی پایگاه داده ها باvisual basic میباشد .(انتشارات نص).
موفق و پیروز باشید .

zapata-es
پنج شنبه 29 اردیبهشت 1384, 13:42 عصر
هادی جان ممنونم . آقا من هنوز مشکل دارم :reading: .بعد از اینکه من عکس رو انتخاب میکنم
این پیام ظاهر میشه object variable or with block variable not set
به این کد Adodc1.Recordset.AddNew ایراد میگیره.من یک adodc1 روی فرم گذاشتم ولی نمیدونم آیا باید خاصیتی را برای این شیئ ست کرد تا این ایراد برطرف بشه یا نه.
هادی جون :flower: اگه میتونی زود جواب بده که اعصابم ریخته به هم. :sad2:

hadi2345
پنج شنبه 29 اردیبهشت 1384, 14:04 عصر
آیا adodc رو به database وصل کردی؟ ببین اگه تو database programming تجربه کمی داری کارت یه کم سخته ولی شما اگه اون کتاب دومیه رو همین امروز بگیری فکر کنم تا شنبه بتونی برنامه رو تموم کنی .
از نمونه برنامه های اون کتاب خیلی میتونی استفاده کنی .
باز هم اگه مشکلی داشتی با شماره 3309003 تماس بگیر .
هادی خلیل پور

zapata-es
پنج شنبه 29 اردیبهشت 1384, 14:13 عصر
بازم سلام. هادی جون اون کتابه الان اینجاست اما من که هنوز دیتا بیسی ندارم که adodc رو به اون وصل کنم.
:گیج: :گیج: :گیج:

mahmood3d
یک شنبه 20 مرداد 1387, 09:03 صبح
آقا این نمونه برنامه ذخیره عکس در پایگاه داده رو نمی خواین بزارین تا ما هم استفاده کنیم ؟؟

y.saied
یک شنبه 20 مرداد 1387, 13:22 عصر
دوست عزيز قبلاً در مورد اين خيلي بحث شده و به نتيجه رسيده ............ اگه جستجو كني به نتيجه ميرسي!!!!!!!!!