تقييم الموضوع :
  • 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 ك ب / التحميلات : 126)
الرد
#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
الرد


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مثال] مثال لنسخ وإستعادة قاعدة البيانات ( تحديث) نسخ تلقائي للقاعدة حسب اليوم والساعة جميل علي 75 20,011 24-10-19, 03:47 PM
آخر رد: nouribenyahia
  [مثال] حفظ ملفات لـ PDF و الوورد والاكسيل داخل قاعدة البيانات( تحديث جديد) جميل علي 16 7,776 12-08-19, 12:21 PM
آخر رد: عماني939
  برنامج لنسخ البيانات من قاعدة بيانات اكسيس الي سيكوال Emam emam 1 219 09-08-19, 09:41 PM
آخر رد: asemshahen5
Sad [مشروع] واقع بمشكلة ادمان قواعد البيانات:( سعود 1 334 01-08-19, 10:09 AM
آخر رد: asemshahen5
Thumbs Up [مثال] ضغط وإصلاح قواعد البيانات ( Access mdb & Access accdb ) Easy4ever 18 11,381 21-06-19, 08:09 PM
آخر رد: elgokr
Thumbs Up [مثال] الحل النهائي لمشكلة التاريخ الهجري مع قواعد بيانات اكسس محمود بكرى 3 871 04-06-19, 01:59 PM
آخر رد: solbi
  مثال استيراد اى ملف اكسيل وتصدير البيانات الى ملف اكسيل new_programer 1 473 18-02-19, 12:37 AM
آخر رد: sendbad100
Information [مشروع] طريقة تصميم برنامج قواعد بيانات يحتوي على علاقات بين الجداول (باستخدام الكود فقط) Mohamad Anan 10 8,061 07-11-18, 02:36 AM
آخر رد: عماد السيد
  مشروع التعامل مع قواعد البيانات من خلال الكلاسس viv 10 1,363 11-05-18, 01:08 PM
آخر رد: viv
  اريد مساعدتك في كود النسخة الاحتياطيه للقاعدة البيانات واستراجها ب الفيجوال بيسك nosa 0 479 01-05-18, 05:38 PM
آخر رد: nosa

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


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