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


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

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

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

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

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

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

نبدأ ؟؟

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

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

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

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

[صورة مرفقة: 18_01349844184.gif]


[صورة مرفقة: 18_01349844233.gif]

[صورة مرفقة: 18_01349844254.gif]

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

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

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

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

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

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

[صورة مرفقة: 18_01349844275.gif]

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

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

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

[صورة مرفقة: 18_01349844323.gif]


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

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


كود :
[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 يقرئ قاعدة البيانات

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

[صورة مرفقة: 18_11349844323.gif]

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

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

[صورة مرفقة: 18_21349844323.gif]

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

كود :
[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]

[صورة مرفقة: 18_31349844323.gif]

الأن نشغل البرنامج و نلاحظ التعديل طبعا إلى 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 عبد العزيز البسكري 9 9,540 12-03-26, 02:28 AM
آخر رد: atefkhalf2004
  خطأ في الاتصال بقاعدة البيانات djelloul 0 2,085 11-07-20, 04:21 PM
آخر رد: djelloul
  [درس فيديو] طريقة تثبيت قاعدة البيانات sql alims 0 2,419 16-07-19, 07:27 AM
آخر رد: alims
  مثال للعمليات علي قواعد البيانات مع الشرح mr_mgm 2 5,745 21-11-18, 04:20 AM
آخر رد: Ebrahim5556
  الكامل في قواعد البيانات rinawi 15 32,712 15-10-18, 01:19 AM
آخر رد: viv
  قواعد بيانات يمكن العمل بها تحت بيئة الـدوت نت viv 17 9,409 14-10-18, 10:10 PM
آخر رد: viv
Wink [مقال] وداعا لملل كتابة الاكود لعرض لقاعدة البيانات اكسس و سيكوال (الجزء الثانى) alims 4 5,324 19-08-18, 02:08 PM
آخر رد: elgokr
Big Grin وداعا لملل كتابة الاكود الاضافة لقاعدة البيانات اكسس و سيكوال alims 15 13,052 06-05-18, 01:15 PM
آخر رد: viv
  كيفية تحزيم برنامج وتضمين معه قاعدة البيانات شرح بالصور مبرمج بلا حدود 30 44,338 20-07-16, 06:58 PM
آخر رد: ahmedfa71
  طريقة تقسيم كمية عرض البيانات داخل الأداة ( DataGridView ) أو مايسمى بالـ ( Paging ) MR Dev Boody 4 6,985 02-06-16, 12:41 PM
آخر رد: CLARO

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


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