شاطر
اذهب الى الأسفل
عدد المساهمات : 134
تاريخ التسجيل : 08/10/2012
معاينة صفحة البيانات الشخصي للعضو

التعامل مع قواعد البيانات من الألف إلى الياء | شرح بالتفصيل و الصور part1

في الثلاثاء أكتوبر 09, 2012 12:14 pm
سنتعلم قواعد البيانات من خلال تصميم برنامج يحتوي على جميع الأدوات التي يمكنك ربط قواعد البيانات بها

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

نبدأ ؟؟

لغة البرمجة : 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 و نرتبهم كما نريد هذا ترتيب برنامجي

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

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

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

الكود:

Imports System.Data
Imports System.Data.OleDb

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

الكود:


Dim ds As New DataSet
Dim dt As New DataTable("Table1")
Dim ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source =" & Application.StartupPath & "\Database.mdb"
Dim Conn As New OleDbConnection(ConStr)
Dim DataSet1 As New DataSet
Dim SQLstr As String = "SELECT * FROM Table1"
Dim m As String

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

الكود:

"Data Source =" & Application.StartupPath & "\Database.mdb"

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

الكود:


Dim SQLstr As String = "SELECT * FROM Table1"

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


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

الكود:

Static m As Integer = 0
Conn.Open()
Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, Conn)
DataAdapter1.Fill(DataSet1, "Table1")
Conn.Close()
TextBox1.DataBindings.Add("Text", DataSet1, "Table1.Name")
TextBox2.DataBindings.Add("Text", DataSet1, "Table1.Number")
TextBox3.DataBindings.Add("Text", DataSet1, "Table1.Address")
TextBox4.DataBindings.Add("Text", DataSet1, "Table1.Mobile")
 
 
 
DataGridView1.DataSource = DataSet1
DataGridView1.DataMember = "Table1"

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

الكود:

TextBox1.DataBindings.Add("Text", DataSet1, "Table1.Name")
TextBox2.DataBindings.Add("Text", DataSet1, "Table1.Number")
TextBox3.DataBindings.Add("Text", DataSet1, "Table1.Address")
TextBox4.DataBindings.Add("Text", DataSet1, "Table1.Mobile")
و هنا وجهنا كل TextBox إلى الحقل الذي سيستعرض البيانات منه

و هذا الكود

الكود:


DataGridView1.DataSource = DataSet1
DataGridView1.DataMember = "Table1"
و الذي من خلاله نجعل الـ DataGridView يقرئ قاعدة البيانات

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

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

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

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

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

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

الكود:


Public Sub ChangePosition()
Label11.RightToLeft = Windows.Forms.RightToLeft.Yes
Label11.Text = "السجل " & Me.BindingContext(DataSet1, "table1").Position & _
" من " & Me.BindingContext(DataSet1, "table1").Count - 1
End Sub

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]

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

أولا زر السجل الأول
الكود:

Me.BindingContext(DataSet1, "table1").Position = 0
ChangePosition() 
وهو للتنقل بين سجلات قاعدة البيانات بالنسبة للعدد صفر هو السجل الأول

الأن زر السجل السابق
الكود:

Me.BindingContext(DataSet1, "table1").Position -= 1
ChangePosition() 
نفس المهمة إنما ننتقل إلى السابق

السجل التالي
الكود:

Me.BindingContext(DataSet1, "table1").Position += 1
ChangePosition() 
السجل الأخير
الكود:

Me.BindingContext(DataSet1, "table1").Position = Me.BindingContext(DataSet1, "table1").Count - 1
ChangePosition() 
الرجوع الى أعلى الصفحة
مواضيع مماثلة
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى