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

Store Image in MS Access using OLEDB

مغلق
بدأه Has2 في 26 مايو 2007 · 6 رد · 967 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبا

اخواني الاعزاء لدي سؤال ولم اجد له حل مع العلم اني بحثت خلال اربعة اريام ولم افلح وكل دلك يرجع الى ان كل طرق الحل تستخدم SQL Server وانا استخدم MS Access Database2003

عملت بحث فى هدا المنتدى وفي منتديات عديده وفى الياهو والجوجل ولم اجد حل يعمل على استخدام provider=microsoft.jet.OLEDB.4.0 كل المواضيع التى قرأتها ووجدتها خلال عملية البحث تقوم بأجراء SQL Server وانا لا اريد ان استخدم SQL لحفظ الصورة.

كل ما اريده هو

1- حفظ الصورة فى قاعدة البيانات MS Access2003 -- طبعا بأستخدام Using provider=microsoft.jet.OLEDB.4.0

2- وعمل Load للصورة من قاعدة البيانات الى PictureBox فى الفورم -- Using provider=microsoft.jet.OLEDB.4.0

3- How to Navigate the pictures .

صورة للتوضيح

savepicturespy9.jpg

طبعا هدا كود لعرض الصورة فى الفورم

Private Sub btnbrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnbrowse.Click
With OpenFileDialog1
.InitialDirectory = "C:\"
.Filter = "Bitmaps|*.bmp|GIFs|*.gif|JPEGs|*.jpg|Icon|*.ico|Metafile|*.wmf|All Files *.*|*.*"
.FilterIndex = 2
End With
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
With picbox
.Image = Image.FromFile(OpenFileDialog1.FileName)
.SizeMode = PictureBoxSizeMode.StretchImage
.BorderStyle = BorderStyle.Fixed3D
End With

Me.txtbrowse.Text = OpenFileDialog1.FileName
End If
End Sub

تم تعديل هذه المشاركة بواسطة Has2 في 26 مايو 2007 في 16:51

#2

أولا - في الدوت نيت لايوجد فرق في التعامل بين مختلف قواعد البيانات سوى في الـ Connection string هذا يعني أن أي كود حصلت عليه يستخدم SQL Server ينطبق تماما على MS Access ويمكنك الاستفادة منه فقط قم بتعديل الـ Connection String

ثانيا - هناك شبه اجماع بين المبرمجين على أن أفضل طريقة لتخزين الصور في قاعدة بيانات Access - Oracle - SQL Server - My SQL الخ هو بتجميع الصور في مجلد معين ضمن المجلد الخاص بالبرنامج ووضع مسار الصورة فقط في حقل نصي في قاعدة البيانات

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#3

اولا اشكرك على تجاوبك اخي الكريم

ثانيا اذا كان كلامك هو المعمول به بين كل المبرمجيين كما قلت فلماذا لم اجد للآن طريقة بأستخدام OLEDB؟

ثالثا استاذى العزيز من خلال كلامك ارى انك عندك استطاعه بأن تجعل الحل امامي ممكنا حيث انى اترجم من SQl Server الى كود OLEDB بما اني لم اعمل مسبقا على SQL Server هل لك ان تعطينى الحل من خلال ترجمتك من كود الى كود آخر كما بينت؟؟؟

ننتظر الاجابة

#4

code hunter اشكرك على مشاركتك

ولكن مع الأسف المثال غير كافي يعنى ما حقق طلبي.

شكرا الله سعيك اخينا الكريم

تم تعديل هذه المشاركة بواسطة Has2 في 27 مايو 2007 في 01:24

#5
Has2 كتب:
اولا اشكرك على تجاوبك اخي الكريم

ثانيا اذا كان كلامك هو المعمول به بين كل المبرمجيين كما قلت فلماذا لم اجد للآن طريقة بأستخدام OLEDB؟

ثالثا استاذى العزيز من خلال كلامك ارى انك عندك استطاعه بأن تجعل الحل امامي ممكنا حيث انى اترجم من SQl Server الى كود OLEDB بما اني لم اعمل مسبقا على SQL Server هل لك ان تعطينى الحل من خلال ترجمتك من كود الى كود آخر كما بينت؟؟؟

ننتظر الاجابة

بالنسبة لـ OLE DB أصبح التعامل معه قديم والكل يستخدم الأن ADO .net مع مختلف قواعد البيانات ومنها Access

بالنسبة للكود الخاص بـ Sql Server لاداعي لتحويله لـ OLE DB يمكنك استخدام نفس الكود المعمول بـ ADO .net للتعامل مع Sql Server ليقوم بتنفيذ نفس المهمة على Access مباشرة فقط قم بتعديل الـ Connection String ليتصل الكود مع قاعدة بيانات Access بدلا من SQL Server

تم تعديل هذه المشاركة بواسطة msas في 27 مايو 2007 في 10:32

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#6

السلام عليكم ...

---------------

إليك هذا الكود لحفظ الصورة

  Public Sub InsertPicture(ByVal ManufacturerNumber As String, ByVal ManufacturerItemNumber As String, ByVal PictureUrl As String)
			If Exists(PictureUrl) Then
				Dim myPic As New FileInfo(PictureUrl)
				Dim picContents(myPic.Length - 1) As Byte
				Dim contentStream As FileStream = myPic.OpenRead()
				contentStream.Read(picContents, 0, picContents.Length)
				contentStream.Close()

				Dim ct As String = "INSERT INTO IMAGELIST(MFR_NUM, MFR_PROD_CODE, [IMAGE]) " & _
								   "VALUES(@MfrNum, @ItemNum, @Image)"
				Dim cmd As New OleDbCommand(ct, MyBase.Connection)
				cmd.CommandType = CommandType.Text

				Dim imgParm As New OleDbParameter("@Image", OleDbType.Binary)
				imgParm.Value = picContents

				cmd.Parameters.Add(imgParm)
				cmd.Parameters.Add("@MfrNum", ManufacturerNumber)
				cmd.Parameters.Add("@ItemNum", ManufacturerItemNumber)

				Try
					MyBase.Connection.Open()

					cmd.ExecuteNonQuery()

					MyBase.Connection.Close()
				Catch ex As Exception
					Throw ex
				End Try
			End If
		End Sub

وهنا عدة مقالات من كذا موقع تهتم بنفس الموضوع

تفضل هنا أضغط هنا

او هنا

او هنا

تم تعديل هذه المشاركة بواسطة فلسطيننا في 27 مايو 2007 في 14:06

رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ

#7

الحبيب فلسطيننا

اشكرك على التجاوب والمشاركة جعله الله فى ميزان حسناتك ليوم الدين ان شاء الله

ولكني احتاج ايضا عمل Load Image لاني حاولت فى عملية الحذف رأيت فى قاعدة البيانات مكتوب نص يظهر انه ضاف الصورة ولكني اردت التأكد من ان الصورة موجودة واستطيع ان اظهرها على الفورم عند الطلب

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

موفقين دائما وابدا ^_^

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

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