اريد عمل داتا بيس تحتوى احد حقولها على صورة واستخدامها فى برنامج فيجيوال بيسك
هل يوجد من يساعدنى
وكيف يمكن ملئ حقل الصورة هذا من الفيجيوال بيسك ؟
وشكرا
اريد عمل داتا بيس تحتوى احد حقولها على صورة واستخدامها فى برنامج فيجيوال بيسك
هل يوجد من يساعدنى
وكيف يمكن ملئ حقل الصورة هذا من الفيجيوال بيسك ؟
وشكرا
السلام عليكم
بالنسبة لموضوع الصور في طريقتين على حد علمي الأولى ان تضع الصورة نفسها في قاعدة البيانات و الأخرى أن تضع مسار الصورة فقط في قاعدة البيانات و عند العرض يقوم بعرض الصورة من مسارها، هذه الطريقة (الثانية) جربتها في الASP و الASP.NET و لكن لم أجربها في الفيجوال بيسك لكن بالتأكيد سوف تنجح الطريقة في الفيجوال بيسك لأن الأمر منوط بقاعدة البيانات و عند ادخال الصورة تقوم بوضع الصورة في مجلد معين مع مشروعك و تخزن المسشار فقط في قاعدة البيانات .
آسف للاطالة
بالتوفيق
السلام عليكم ورحمة الله وبركاته
اذا كنتي بتستخدمي قاعدة بيانات اكسيس فالطريقة واحدة سواء كان الملف صورة وا غيره لان في كل الحالات يتم تحويل الملف الى Binary
ثم حفظه في قاعدة البيانات
والطريقة موجودة مع الكود في المنتدى
وهذا الكود مفيد أيضا
http://lov3r.topcities.com/projects/save2db.rar
اما اذا كانت قاعدة البيانات من نوع SQL Server فيجب ان يكون نوع الحقل Image ويتم الحفظ عن طريق الـ Stream
وهي طريقة أسهل بكثير لو احتاجتيها قولي وان شاء الله انزلها
أما اذا كانت قاعدة البيانات من اي نوع أخر فأنا لا أعرف بصراحة ومازلت ابحث عن طريقة للحفظ في قاعدة بيانات MySQL
JusT LeT YouR MinD WorK
اخوي MR^King ..
الرابط لايعمل ويحولني الى موقع للاستضافة .
ارجو التعديل ...
بسم الله الرحمن الرحيم
أرجو الا أكون قد تأخر فى الرد
الحل الذى أعرفه هو تحويل الملف إلى صيغة ثنائية أى(1-0) ثم أرسال الملف إلى قاعدة البيانات
وعند إستيراد الملف يتم إرجاع الملف إلى صيغته السابقة
وهذا يتم عن طريق الكلاسstream من مكتبةADO
بالمناسبة هذه الطريقة تعمل معAccess & SQL Server
وعلى ما أعتقد أنها تعمل مع جميع أنواع الملفا.....
أى شئ يظهر فى الكود يمكن أن نتناقش فيه
مع الرسالة مرفق السورس كود به كيفبة عمل الكلاسstream
انا متشكرة قوى قوى لكل اللى حاولوا يساعدونى
لكن
انا مش فاهمة حاجة خالص
شكرا
أحاول أبسط الموضع شوية
أولا السؤال كان كيف أضع صورة فى قاعدة البيانات
وهذا الشق الاول
والأجابة بسيطة
أولا لابد أن يكون الحقل المستخدم من نوع "كائن 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"] تحميل الصورة فى بكتشر بوكس
الكود مع مثال أعلى مع الرسالة السابقة
أرجو أن أكون قد وفقت فى الشرح هذه المرة
هذا الموضوع مغلق.