تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
حصريا بعد غياب | التعامل مع قواعد البيانات من الألف إلى الياء | شرح بالتفصيل و الصور
#1
كاتب الموضوع : الخبير


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

رمضان كريم للجميع

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

و لكن في هذا القسم و بسبب كثرة مواضيعه و أساليب الربط بقواعد البيانات يضيع المبتدئ و الذي يريد أن يتعلم من البداية

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

سنعتمد برنامج دليل هاتف متقدم و مطور

نبدأ ؟؟

لغة البرمجة : Visual Basic 2010 لا يختلف كثيرا عن الـ 2008
قاعدة البيانات : Access 2003 يمكن حفظ بهضه الصيغة من أي اصدار حتى الـ 2010

أولا تصميم قاعدة البيانات و إنشاء مشروع جديد و ربطه بقاعدة البيانات و إضافة الأدوات :

نفتح Microsoft Access أي اصدار أنا لدي 2010

و نصمم قاعدة باسم Database و تحتوي جدول مثل التالي و نحفظه باسم Table1








الأن فكرة البرنامج قبل البدء بالتصميم :

دليل هاتف مطور يتم عرض كل المعلومات في TextBox

و التعديل أيضا من TextBox

و يتم عرض كل النتائج في DataGridView

مع عملية بحث بحسب كل تفصيل من تفاصيل المستخدم

الأن نفتح الفيجوال ستوديو و ننشئ مشروع جديد باسم Phone و نحفظه في سطح المكتب



و ننقل قاعدة البيانات إلى المسار التالي

Phone\Phone\bin\Debug في البرنامج

بالنسبة لتنسيق الفورم نضيف TextBox عدد 9 و ComboBox عدد 1 و DataGridView عدد 1 و Button عدد 8 و نرتبهم كما نريد هذا ترتيب برنامجي




الأن مرحلة الأكواد

نبدأ باستيراد المجالات التالية و نضعها في قسم العام


كود :
[color=#000000][COLOR=#0000bb]Imports System[/color][color=#007700].[/color][COLOR=#0000bb]Data
Imports System[/COLOR][color=#007700].[/color][color=#0000bb]Data[/color][color=#007700].[/color][COLOR=#0000bb]OleDb  
[/COLOR][/COLOR]

الأن في حدث Public Class Form1 نضع الكود التالي

كود :
[COLOR=#000000][COLOR=#0000bb]
Dim ds [/COLOR][color=#007700]As New [/color][COLOR=#0000bb]DataSet
Dim dt [/COLOR][color=#007700]As New [/color][color=#0000bb]DataTable[/color][color=#007700]([/color][color=#dd0000]"Table1"[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Dim ConStr [/color][color=#007700]As [/color][color=#0000bb]String [/color][color=#007700]= [/color][color=#dd0000]"Provider=Microsoft.Jet.OLEDB.4.0;" [/color][color=#007700]& [/color][COLOR=#0000bb]_
[/COLOR][color=#dd0000]"Data Source =" [/color][color=#007700]& [/color][color=#0000bb]Application[/color][color=#007700].[/color][color=#0000bb]StartupPath [/color][color=#007700]& [/color][COLOR=#dd0000]"\Database.mdb"
[/COLOR][color=#0000bb]Dim Conn [/color][color=#007700]As New [/color][color=#0000bb]OleDbConnection[/color][color=#007700]([/color][color=#0000bb]ConStr[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Dim DataSet1 [/color][color=#007700]As New [/color][COLOR=#0000bb]DataSet
Dim SQLstr [/COLOR][color=#007700]As [/color][color=#0000bb]String [/color][color=#007700]= [/color][COLOR=#dd0000]"SELECT * FROM Table1"
[/COLOR][color=#0000bb]Dim m [/color][color=#007700]As [/color][COLOR=#0000bb]String  
[/COLOR][/COLOR]

هنا عرفنا المتغيير ds على أنه Dataset جديد
و المتغيير dt على أنه Datatable جديد لكي نربط مع الـ Table1
و المتغيير ConStr على أنه عملية الربط الكاملة مع قاعدة البيانات و تلاحظ


كود :
[color=#000000][COLOR=#0000bb][/color][color=#dd0000]"Data Source =" [/color][color=#007700]& [/color][color=#0000bb]Application[/color][color=#007700].[/color][color=#0000bb]StartupPath [/color][color=#007700]& [/color][COLOR=#dd0000]"\Database.mdb"  
[/COLOR][color=#0000bb][/color][/COLOR]

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


كود :
[color=#000000][COLOR=#0000bb]Dim SQLstr [/color][color=#007700]As [/color][color=#0000bb]String [/color][color=#007700]= [/color][COLOR=#dd0000]"SELECT * FROM Table1"  
[/COLOR][color=#0000bb][/color][/COLOR]

هنا وجهنا البرنامج إلى الجدول الذي أنشأناه في قاعدة البيانات


الأن في حدث اللود للفورم


كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]Static [/color][color=#0000bb]m [/color][color=#007700]As [/color][color=#0000bb]Integer [/color][color=#007700]= [/color][COLOR=#0000bb]0
Conn[/COLOR][color=#007700].[/color][color=#0000bb]Open[/color][COLOR=#007700]()
[/COLOR][color=#0000bb]Dim DataAdapter1 [/color][color=#007700]As New [/color][color=#0000bb]OleDbDataAdapter[/color][color=#007700]([/color][color=#0000bb]SQLstr[/color][color=#007700], [/color][color=#0000bb]Conn[/color][COLOR=#007700])
[/COLOR][color=#0000bb]DataAdapter1[/color][color=#007700].[/color][color=#0000bb]Fill[/color][color=#007700]([/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"Table1"[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Conn[/color][color=#007700].[/color][color=#0000bb]Close[/color][COLOR=#007700]()
[/COLOR][color=#0000bb]TextBox1[/color][color=#007700].[/color][color=#0000bb]DataBindings[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700]([/color][color=#dd0000]"Text"[/color][color=#007700], [/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"Table1.Name"[/color][COLOR=#007700])
[/COLOR][color=#0000bb]TextBox2[/color][color=#007700].[/color][color=#0000bb]DataBindings[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700]([/color][color=#dd0000]"Text"[/color][color=#007700], [/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"Table1.Number"[/color][COLOR=#007700])
[/COLOR][color=#0000bb]TextBox3[/color][color=#007700].[/color][color=#0000bb]DataBindings[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700]([/color][color=#dd0000]"Text"[/color][color=#007700], [/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"Table1.Address"[/color][COLOR=#007700])
[/COLOR][color=#0000bb]TextBox4[/color][color=#007700].[/color][color=#0000bb]DataBindings[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700]([/color][color=#dd0000]"Text"[/color][color=#007700], [/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"Table1.Mobile"[/color][COLOR=#007700])

&[/COLOR][COLOR=#ff8000]#12288;
[/COLOR][color=#007700]&[/color][COLOR=#ff8000]#12288;
[/COLOR][color=#0000bb]DataGridView1[/color][color=#007700].[/color][color=#0000bb]DataSource [/color][color=#007700]= [/color][COLOR=#0000bb]DataSet1
DataGridView1[/COLOR][color=#007700].[/color][color=#0000bb]DataMember [/color][color=#007700]= [/color][COLOR=#dd0000]"Table1"  
[/COLOR][color=#0000bb][/color][/COLOR]

ما يهمنا من الكود هو هذا الجزء


كود :
[color=#000000][COLOR=#0000bb]TextBox1[/color][color=#007700].[/color][color=#0000bb]DataBindings[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700]([/color][color=#dd0000]"Text"[/color][color=#007700], [/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"Table1.Name"[/color][COLOR=#007700])
[/COLOR][color=#0000bb]TextBox2[/color][color=#007700].[/color][color=#0000bb]DataBindings[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700]([/color][color=#dd0000]"Text"[/color][color=#007700], [/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"Table1.Number"[/color][COLOR=#007700])
[/COLOR][color=#0000bb]TextBox3[/color][color=#007700].[/color][color=#0000bb]DataBindings[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700]([/color][color=#dd0000]"Text"[/color][color=#007700], [/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"Table1.Address"[/color][COLOR=#007700])
[/COLOR][color=#0000bb]TextBox4[/color][color=#007700].[/color][color=#0000bb]DataBindings[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700]([/color][color=#dd0000]"Text"[/color][color=#007700], [/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"Table1.Mobile"[/color][COLOR=#007700])  
[/COLOR][color=#0000bb][/color][/COLOR]


و هنا وجهنا كل TextBox إلى الحقل الذي سيستعرض البيانات منه

و هذا الكود

كود :
[COLOR=#000000][COLOR=#0000bb]
DataGridView1[/COLOR][color=#007700].[/color][color=#0000bb]DataSource [/color][color=#007700]= [/color][COLOR=#0000bb]DataSet1
DataGridView1[/COLOR][color=#007700].[/color][color=#0000bb]DataMember [/color][color=#007700]= [/color][COLOR=#dd0000]"Table1"  
[/COLOR][color=#0000bb][/color][/COLOR]
و الذي من خلاله نجعل الـ DataGridView يقرئ قاعدة البيانات

إذا أضفنا بعض السجلات في قاعدة البيانات ستعرض هنا دعونا نجرب و لكن قبل ذلك دعونا نلقي نظرة على الكود في البرنامج



هل ترى هذا الخط الذي لدي لم أضعه في الكود الأول لأننا سنعرف حدث خاصا به بعد قليل

الأن نشغل البرنامج و نلاحظ



الأن دعونا نعرف هذا الحدث الذي أخبرتكم عليه

كود :
[COLOR=#000000][COLOR=#0000bb]
[/COLOR][color=#007700]Public [/color][color=#0000bb]Sub ChangePosition[/color][COLOR=#007700]()
[/COLOR][color=#0000bb]Label11[/color][color=#007700].[/color][color=#0000bb]RightToLeft [/color][color=#007700]= [/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]Forms[/color][color=#007700].[/color][color=#0000bb]RightToLeft[/color][color=#007700].[/color][COLOR=#0000bb]Yes
Label11[/COLOR][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#dd0000]"السجل " [/color][color=#007700]& [/color][color=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]BindingContext[/color][color=#007700]([/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"table1"[/color][color=#007700]).[/color][color=#0000bb]Position [/color][color=#007700]& [/color][COLOR=#0000bb]_
[/COLOR][color=#dd0000]" من " [/color][color=#007700]& [/color][color=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]BindingContext[/color][color=#007700]([/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"table1"[/color][color=#007700]).[/color][color=#0000bb]Count [/color][color=#007700]- [/color][COLOR=#0000bb]1
End Sub  
[/COLOR][/COLOR]



الأن نشغل البرنامج و نلاحظ التعديل طبعا إلى Label11 هو ذلك المستطيل الذي بين زري السجل السابق و السجل التالي و مهمته عرض عدد السجلات


الأن أزرار التالي و الأول .....

أولا زر السجل الأول

كود :
[color=#000000][COLOR=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]BindingContext[/color][color=#007700]([/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"table1"[/color][color=#007700]).[/color][color=#0000bb]Position [/color][color=#007700]= [/color][COLOR=#0000bb]0
ChangePosition[/COLOR][COLOR=#007700]()  
[/COLOR][color=#0000bb][/color][/COLOR]

وهو للتنقل بين سجلات قاعدة البيانات بالنسبة للعدد صفر هو السجل الأول

الأن زر السجل السابق


كود :
[color=#000000][COLOR=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]BindingContext[/color][color=#007700]([/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"table1"[/color][color=#007700]).[/color][color=#0000bb]Position [/color][color=#007700]-= [/color][COLOR=#0000bb]1
ChangePosition[/COLOR][COLOR=#007700]()  
[/COLOR][color=#0000bb][/color][/COLOR]

نفس المهمة إنما ننتقل إلى السابق

السجل التالي


كود :
[color=#000000][COLOR=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]BindingContext[/color][color=#007700]([/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"table1"[/color][color=#007700]).[/color][color=#0000bb]Position [/color][color=#007700]+= [/color][COLOR=#0000bb]1
ChangePosition[/COLOR][COLOR=#007700]()  
[/COLOR][color=#0000bb][/color][/COLOR]

السجل الأخير


كود :
[color=#000000][COLOR=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]BindingContext[/color][color=#007700]([/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"table1"[/color][color=#007700]).[/color][color=#0000bb]Position [/color][color=#007700]= [/color][color=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]BindingContext[/color][color=#007700]([/color][color=#0000bb]DataSet1[/color][color=#007700], [/color][color=#dd0000]"table1"[/color][color=#007700]).[/color][color=#0000bb]Count [/color][color=#007700]- [/color][COLOR=#0000bb]1
ChangePosition[/COLOR][COLOR=#007700]()  
[/COLOR][color=#0000bb][/color][/COLOR]

درسنا لم ينتهي يتبع ...
}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
حصريا بعد غياب | التعامل مع قواعد البيانات من الألف إلى الياء | شرح بالتفصيل و الصور - بواسطة Raggi Tech - 10-10-12, 08:47 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سكريبت إنشاء قاعدة البيانات لل SQL SERVER عبد العزيز البسكري 8 8,858 26-10-24, 10:56 AM
آخر رد: atefkhalf2004
  خطأ في الاتصال بقاعدة البيانات djelloul 0 1,951 11-07-20, 04:21 PM
آخر رد: djelloul
  [درس فيديو] طريقة تثبيت قاعدة البيانات sql alims 0 2,286 16-07-19, 07:27 AM
آخر رد: alims
  مثال للعمليات علي قواعد البيانات مع الشرح mr_mgm 2 5,568 21-11-18, 04:20 AM
آخر رد: Ebrahim5556
  الكامل في قواعد البيانات rinawi 15 31,690 15-10-18, 01:19 AM
آخر رد: viv
  قواعد بيانات يمكن العمل بها تحت بيئة الـدوت نت viv 17 8,947 14-10-18, 10:10 PM
آخر رد: viv
Wink [مقال] وداعا لملل كتابة الاكود لعرض لقاعدة البيانات اكسس و سيكوال (الجزء الثانى) alims 4 5,162 19-08-18, 02:08 PM
آخر رد: elgokr
Big Grin وداعا لملل كتابة الاكود الاضافة لقاعدة البيانات اكسس و سيكوال alims 15 12,689 06-05-18, 01:15 PM
آخر رد: viv
  كيفية تحزيم برنامج وتضمين معه قاعدة البيانات شرح بالصور مبرمج بلا حدود 30 43,623 20-07-16, 06:58 PM
آخر رد: ahmedfa71
  طريقة تقسيم كمية عرض البيانات داخل الأداة ( DataGridView ) أو مايسمى بالـ ( Paging ) MR Dev Boody 4 6,805 02-06-16, 12:41 PM
آخر رد: CLARO

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


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