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

كيف اضع صورة فى داتا بيس

مغلق
بدأه mona_plo في 20 مارس 2006 · 6 رد · 1,468 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اريد عمل داتا بيس تحتوى احد حقولها على صورة واستخدامها فى برنامج فيجيوال بيسك

هل يوجد من يساعدنى

وكيف يمكن ملئ حقل الصورة هذا من الفيجيوال بيسك ؟

وشكرا

#2

السلام عليكم

بالنسبة لموضوع الصور في طريقتين على حد علمي الأولى ان تضع الصورة نفسها في قاعدة البيانات و الأخرى أن تضع مسار الصورة فقط في قاعدة البيانات و عند العرض يقوم بعرض الصورة من مسارها، هذه الطريقة (الثانية) جربتها في الASP و الASP.NET و لكن لم أجربها في الفيجوال بيسك لكن بالتأكيد سوف تنجح الطريقة في الفيجوال بيسك لأن الأمر منوط بقاعدة البيانات و عند ادخال الصورة تقوم بوضع الصورة في مجلد معين مع مشروعك و تخزن المسشار فقط في قاعدة البيانات .

آسف للاطالة

بالتوفيق

#3

السلام عليكم ورحمة الله وبركاته

اذا كنتي بتستخدمي قاعدة بيانات اكسيس فالطريقة واحدة سواء كان الملف صورة وا غيره لان في كل الحالات يتم تحويل الملف الى Binary

ثم حفظه في قاعدة البيانات

والطريقة موجودة مع الكود في المنتدى

وهذا الكود مفيد أيضا

http://lov3r.topcities.com/projects/save2db.rar

اما اذا كانت قاعدة البيانات من نوع SQL Server فيجب ان يكون نوع الحقل Image ويتم الحفظ عن طريق الـ Stream

وهي طريقة أسهل بكثير لو احتاجتيها قولي وان شاء الله انزلها

أما اذا كانت قاعدة البيانات من اي نوع أخر فأنا لا أعرف بصراحة ومازلت ابحث عن طريقة للحفظ في قاعدة بيانات MySQL

JusT LeT YouR MinD WorK

#5

بسم الله الرحمن الرحيم

أرجو الا أكون قد تأخر فى الرد

الحل الذى أعرفه هو تحويل الملف إلى صيغة ثنائية أى(1-0) ثم أرسال الملف إلى قاعدة البيانات

وعند إستيراد الملف يتم إرجاع الملف إلى صيغته السابقة

وهذا يتم عن طريق الكلاسstream من مكتبةADO

بالمناسبة هذه الطريقة تعمل معAccess & SQL Server

وعلى ما أعتقد أنها تعمل مع جميع أنواع الملفا.....

أى شئ يظهر فى الكود يمكن أن نتناقش فيه

مع الرسالة مرفق السورس كود به كيفبة عمل الكلاسstream

pic.rar

#6

انا متشكرة قوى قوى لكل اللى حاولوا يساعدونى

لكن

انا مش فاهمة حاجة خالص

شكرا

#7

أحاول أبسط الموضع شوية

أولا السؤال كان كيف أضع صورة فى قاعدة البيانات

وهذا الشق الاول

والأجابة بسيطة

أولا لابد أن يكون الحقل المستخدم من نوع "كائن OLE"وهذا فى الأكسيس ,

أما فى حالة أستخدام اس كيو ال سيرفر فالبد أن يكون الحقل من نوع image

حتى الأن نكون قد عملنا الحقل الذى سيستقبل البيانات من نوع الصور

أما الجزئ الخاص بعملية نقل البيانات بإستخدام فيجوال بيسك فهو الجزئ الصعب بعض الشء

أولا :أستخدم فى ربط قاعدة البيانات مكتبة الADO وأسمها

Microsoft ActiveX Data Objects 2.8 LIbrary

نضع هذا الكود فى منطقة التصرحات العامة "General declaration"

وهو يقوم بأخذ نسخة من ثلاث كلاسات من مكتبة

dim cn as new adodb.connection

din rs as new adodb.recordset

Dim st as new Adodb.stream

نكتب هذا الكود فى الفورم لود

مهمة هذا الكود فتح الكلاسات التى قمنا بنسخها من مكتبة ال ado ,

مع تحديد قاعدت البيانات "db1.mdb" والجدول"pic"

cn.open" Provider = Microsoft.Jet.OLEDB.4.0;Dta Source = db1.mdb;Persist Security Info = False"

rs.open "pic",cn,adopenkeyset,adlockoptimistic

st.type = adtypeBinary

st.open

st.loadfromfile "asd,bmp" تحدي الصورة الراد تسجيلها فى قاعدة البيانات

rs.("pic").value = st.read ‘رسال الصورة إلى الحقل وهو هنا يحمل نفس أسم الجدول

rs.update إرسال الصور

st.write rs.filds["pic"].value إستدعاء الصورة

st.savetofile "tmp.gif",adsaveCreateOverwrite تخزين الصورة فى نفس مجلد الموجود به الأبليكشن

picture1.picture = lodpicture["tmp.gif"] تحميل الصورة فى بكتشر بوكس

الكود مع مثال أعلى مع الرسالة السابقة

أرجو أن أكون قد وفقت فى الشرح هذه المرة

هذا الموضوع مغلق.

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