تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
وداعا ADO.net ووداعا للعلاقات في قواعد البيانات
#1
السلام عليكم ونهاركم مبارك ان شاء الله

لانني ارى الجمود بعالمنا العربي وعدم التحرك نحو الجديد والبحث قررت ان انشر هذا الموضوع .

هل يزعجك تصميم قاعدة بيانات وانشاء الجداول والعلاقات فيما بينها ...؟
هل تزعجك الاستعلامات المعقدة بين الجداول واكواد الاتصال والحذف والتعديل ...؟

حسنا اذا انت بالمكان الصحيح .

الموضوع ليس بجديد وسبق ونشرت عنه .
انك امام ثقنية يقولون انها اسرع بملايين المرات من ثقنية Ado.Net
نحن لا نريد ان نصدق هذا .
لنقل انها اسرع ليس حتى بالالاف المرات وانما بمئات المرات .
مئات المرات استطيع ان ابصم عليها بختمي الخاص واعتمد هذا الطرح .
وفوق كل هذا هو السهولة في التعامل معها من حيث العرض والاتصال والاضافة .

نحن نتحدث عن ثقنية DB40 الكائنية .

هذا كل ماتحتاج للاتصال وانشاء قاعدة بياناتك .

كود :
Friend db As IObjectContainer = Db4oFactory.OpenFile(FileIO.FileSystem.CurrentDirectory & "\DB")


وهذه كل ماتحتاج لانشاء جدولك

كود :
Public Class Emp

   Dim _mname As String
   Public Property mname As String
       Get
           Return _mname
       End Get
       Set(value As String)
           _mname = value
       End Set
   End Property

   Dim _mdate As Date
   Public Property mdate As Date
       Get
           Return _mdate
       End Get
       Set(value As Date)
           _mdate = value
       End Set
   End Property

   Dim _pic As Byte()
   Public Property pic As Byte()
       Get
           Return _pic
       End Get
       Set(value As Byte())
           _pic = value
       End Set
   End Property


End Class


وهذا كل ماتحتاج لحفظ سجل جديد

كود :
Dim k As New Emp()
       k.mname = TextBox1.Text.Trim
       k.mdate = DateTimePicker1.Value
       Dim converter As New ImageConverter
       k.pic = converter.ConvertTo(PictureBox1.Image, GetType(Byte()))
       db.Store(k)

بعيدا عن التنظير دعوني اردخلكم في مثال عملي صممته على السريع من اضافة وحذف وتعديل وعرض .
لاحظ عند تشغيل المشروع اول مرة اذا لم يكن هناك قاعدة بيانات يتم انشاءها فورا .
ايضا المكتية يمكنها العمل على شبكة كذلك .

حملوه وجربوه وسوف يكون لنا حديث بعدها

لاتنسو اضافة المكتبة Db4objects.Db4o.dll من الـ Reference

   


.rar   Db4o.rar (الحجم : 562.58 ك ب / التحميلات : 218)
الرد
#2
السلام عليكم اخي ابو همام
اذا كانت بهذه البساظة فالف وداع Ado.net
شكرا ياغالي
شيء غير معقول
لكن السؤال ماذا لو ان لدي جداول كثيرة وبينها علاقات؟
ان كان بالامكان كتاب او موقع يشرح هذه التقنية
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة: viv , asemshahen5 , عبد العزيز البسكري
#3
إقتباس :السلام عليكم اخي ابو همام
اذا كانت بهذه البساظة فالف وداع Ado.net



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

أجل ان لم احبذ هذه الثقنية منذ اول يوم جربتها .


إقتباس :شكرا ياغالي
شيء غير معقول


الله يحفظك 


إقتباس :لكن السؤال ماذا لو ان لدي جداول كثيرة وبينها علاقات؟
ان كان بالامكان كتاب او موقع يشرح هذه التقنية

ولهذا قلت ولنا حديث بعد كل هذا .
سوف نستمر في انشاء فئات تحوي فئات اخرى ومصفوفات وكائنات وامور كثيرة .
وسوف اعطيكم من اين تحملون الكتب والمكتبة
انها تحتاج الى شخص بلم في التعامل مع الفئات والمصفوفات والمجموعات وكل هذا .

لازال الجميع يفكر ويحلل ويبتكر فيها
يوم امس وانا ابحث وجدت سؤال في موقع stackoverflow له تسع شهور لم يتحصل على اجابة
والسؤال يقول كيف اعدل رقم كل السجلات التي بتاريخ بين كذا وكذا .
واوجدت الحل بسرعة مع انه كان على C# وانا لا احبها ولا افهمها جيدا في العمليات الرياضية والتحويلات .
الرد
#4
في المثال السابق تم تحديث الاجراء LoadData 
وبدل من ترك Result كائن من نوع Object جعلناه lList من الفئة Emp وعبارة عن Collection وهذا سوف يسهل العمل معه على مستوى المشروع .

كود :
Public Sub LoadData(Optional Found As String = "")

       Dim container As IObjectContainer = db
       Dim result As IList(Of Emp) = container.Query(Of Emp)(GetType(Emp))  )
       Try
           BindingSource1.DataSource = result
       Catch ex As Exception

       End Try

   End Sub
الرد
تم الشكر بواسطة: asemshahen5 , ابراهيم ايبو
#5
صحيح انا تحدتث عن هذه الثقنية من قبل ولكن لم اجربها .
الان فقط اقوم بعمل تجارب عليها لهذا كما يقول الأجانب (Do not be shy)
اذا وجدتم فكرة يمكنكم ان تطرحوها .

حاولت الان تجربة ضم Collection من نوع String
في الفئة اضفت 

كود :
Friend arr As New List(Of String)

وفي زر الاضافة

كود :
Dim k As New Emp()
       k.mname = TextBox3.Text.Trim
       k.mdate = DateTimePicker1.Value
       k.arr.Add("BMW")
       k.arr.Add("MAZDA")

على سبيل انه يمثل عدد السيارات التي يملكها 
ولاظهارها 

كود :
Dim k As Emp = CType(result(BindingSource1.Position), Emp)
       If Not k.arr Is Nothing Then
           For i As Integer = 0 To k.arr.Count - 1
               ListBox1.Items.Add(k.arr.Item(i).ToString)
           Next
       End If
المرحلة القادمة هي ضم فئة جديدة وربطها بالفئة الاولى كا Collection يمثل بيانات جدول فرعي
لاتوجد روابط بين الجداول وانما بهذه الطريقة كل فئة تستدعيها تحمل معها كل الفئات التي بداخلها وتمثل بيانات فرعية
الرد
تم الشكر بواسطة: asemshahen5 , ابراهيم ايبو
#6
قرأت مقال ان DB40 تم احتكارها من شركة ما .
ولكن هناك بديل افضل لها mongodb ويتم تحديثها باستمرار لهذا سوف ننتقل لها

https://www.tutorialspoint.com/mongodb/index.htm

للتحميل

https://www.mongodb.com/download-center/cloud
الرد


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  دائرة احصائية مع قواعد البيانات ابراهيم ايبو 0 31 منذ 7 ساعة مضت
آخر رد: ابراهيم ايبو
  البحث في اكثر من عمود في قاعدة البيانات في ال datagridview ggtt17121985 0 141 15-05-20, 02:20 AM
آخر رد: ggtt17121985
  فرز البيانات تنازلى nabil.1710 0 73 05-05-20, 01:11 PM
آخر رد: nabil.1710
Heart كود سحب بيانات صف من قاعدة البيانات في datagridview بناء على قيمة خلية في نفس الصف ggtt17121985 0 99 04-05-20, 02:15 AM
آخر رد: ggtt17121985
  كيفية تحويل قاعدة البيانات sql server لملف script يمكن تحويله لقاعدة بيانات أخرى ببيا ggtt17121985 0 131 21-04-20, 12:54 AM
آخر رد: ggtt17121985
  البحث بين تاريخين مع عرض البيانات في الــــDatagridview ggtt17121985 0 136 15-04-20, 10:04 PM
آخر رد: ggtt17121985
  مشروع عرض البيانات في الداتا جريد فيو من فايربيس بالفيجوال vb . net الجزء الثالث ahmadpal 0 139 29-03-20, 07:19 PM
آخر رد: ahmadpal
  [سلسلة تعليمية] مشروع برنامج بحث وحذف وتحديث البيانات في فايربيس vb . net الجزء الثاني ahmadpal 0 155 29-03-20, 07:12 PM
آخر رد: ahmadpal
  انشاء برنامج يقوم بتخزين البيانات في قاعدة بيانات اون لاين فاير بيس vb.net ahmadpal 0 232 29-03-20, 07:08 PM
آخر رد: ahmadpal
  [VB.NET] بكود وسطر واحد فقط يمكنك تنفيذ عمليات قواعد البيانات mgalal8899 2 364 25-03-20, 11:40 PM
آخر رد: Mr_limo

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم