مرحباً :
قواعد البيانات هي من اهم تطبيقات البرمجة واكثرها استخداماُ ,, لذلك سويت هذا الدرس عليها
نبدي :
اليوم رح نسوي برنامج لادارة الحسابات المدينة لمحل تجاري , واذا شخص يحتاجه بعمله خلي يأخذه ومبري الذمة ^_^
1- انشئ ملف اكسس جديد
لازم يحتوي ملف الاكسس على 8 حقول
وتكون اسماء الحقول كالتالي :
id == التسلسل
name == الاسم
pri == السعر
num == عدد المبيعات
ttody == يوم البيع
ddate == تاريخ البيع
deb == اسم المدين
mob == رقم نقال المدين
لازم يكون اسم الجدول spy
من ملف احفظ الجدول , واخرج من برنامج الاكسس , الان غير اسم ملف الاكسس كله الى spyman
افتح لغة فيجول دوت نت وافتح ملف جديد , الان احفظ الملف تحت اي اسم ,
اذهب للمسار الي حفظ الملف بيه ويكون دائماً :
C:\Users\SPYMAN\Documents\Visual Studio 2008\Projects
افتح اسم المشروع الي حفظته , ثم افتح مجلد bin\Debug
والصق ملف الاكسس الي نسخته بالخطوة الاولى
---------------------------------------------------
هسه نجي للبرمجة ::
اضف الى المشروع 8 صناديق نصوص وسميها كالتالي :
* ملاحظة : استخدم label لتسمية النصوص :
ولا تنسى ان تسند خاصية read only لصناديق النصوص
-----------------------------
هسه اكتب هذا الكود بالتصريحات العامة
Imports System.Data
Imports System.Data.OleDb
-----------------------------
بعد ذلك اكتب هذا الكود في Public Class الفورم
Dim connectionstring AsString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source =" & Application.StartupPath & "\spyman.mdb"
Dim newConnection AsNew OleDbConnection(connectionstring)
Dim DataSet1 AsNew DataSet
'
Dim SQLstr AsString = "SELECT *FROM spyman"
---------------------------------------------------
واضف هذا الكود الى حدث load الخاص بالفورم
newConnection.Open()
Dim DataAdapter1 AsNew OleDbDataAdapter(SQLstr, newConnection)
DataAdapter1.Fill(DataSet1, "spy")
newConnection.Close()
TextBox1.DataBindings.Add("Text", DataSet1, "spy.id")
TextBox2.DataBindings.Add("Text", DataSet1, "spy.name")
TextBox3.DataBindings.Add("Text", DataSet1, "spy.pri", 2, 2)
TextBox4.DataBindings.Add("Text", DataSet1, "spy.num")
TextBox5.DataBindings.Add("Text", DataSet1, "spy.ttody")
TextBox6.DataBindings.Add("Text", DataSet1, "spy.ddate")
TextBox7.DataBindings.Add("Text", DataSet1, "spy.deb")
TextBox8.DataBindings.Add("Text", DataSet1, "spy.mob")
showlistnumber()
هذا الكود جاي يكل للبرنامج جيب المعلومات الي موجودة بالاكسس وخليها بصناديق النصوص
اما السطر الاخير فهو ينطيك عدد السجلات بمساعدة الكود ادناه
------------------------------------------------------------------------------------
واضف هذا الكود الى حدث PublicSub الخاص بالفورم
Label9.Text = Me.BindingContext(DataSet1, "spy").Position + 1
Label10.Text = Me.BindingContext(DataSet1, "spy").Count
* هذا الكود يظهرلك عدد السجلات بالليبل وتكدر تغير وتحط تيكست
---------------------------------------------------------------------------------------------
هسه ضيف النا 11 زر امر
وسميهن كالتالي :
الزرالاول == التالي
الثاني == السابق
الثالث == السجل الاول
الرابع == السجل الاخير
الخامس == اضافة بيانات جديدة
السادس == يحث
السابع == تعديل
الثامن == حذف
التاسع == طباعة
العاشر == عرض السجل رقم **
الحادي عشر == خروج
=================
في الكوماند الذي يحمل السجل الاول اكتب الشغرة التالية :
Me.BindingContext(DataSet1, "spy").Position = 0
showlistnumber()
-------------------------------------------
الكوماند الي يحمل اسم السجل الاخير اكتب الشفرة التالية :
Me.BindingContext(DataSet1, "spy").Position = Me.BindingContext(DataSet1, "spy").Count - 1
showlistnumber()
===================================
الكوماند الي يحمل الاسم السجل التالي
Me.BindingContext(DataSet1, "spy").Position += 1
showlistnumber()
===================================
الكوماند الي يحمل السجل السابق اكتب الكود :
Me.BindingContext(DataSet1, "spy").Position -= 1
showlistnumber()
===================================
زر الامر الي يحمل اسم حذف السجل الحالي :
If
MsgBox(" ", 48 + MsgBoxStyle.OkCancel) = MsgBoxResult.Cancel Then
Exit Sub
End If
Try
Dim Savecommand As New OleDb.OleDbCommand
Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, newConnection)
Savecommand.Connection = newConnection
Savecommand.CommandType = CommandType.Text
Savecommand.CommandText = "DELETE FROM spy WHERE id like '" & TextBox1.Text & "'"
newConnection.Open()
Savecommand.ExecuteNonQuery()
newConnection.Close()
DataSet1.Clear()
DataAdapter1.Fill(DataSet1, "spy")
MsgBox(" ", 64, " ")
showlistnumber()
Catch ex As Exception
MsgBox(ex.Message)
End Try
=============================
زر الخروج من البرنامج
If
MsgBox(" ", 48 + MsgBoxStyle.OkCancel) = MsgBoxResult.Cancel Then
Exit Sub
End If
Try
End
Catch ex As Exception
End Try
================================
هسه انتهينا من الفورم الرئيسي وهو اصعب شيء بقواعد البيانات
هسه اريد منك تضيفيني ثلاث form جديدة
من قائمة بروكجت اختار نيو فورم
وسميهن كالتالي :
form2= new
form3 = edit
form4 = search
---------------------------------
هسه نرجع للاكواد :
بزر الامر الي يحمل اسم اضافة سجل جديد اكتب الكود التالي :
me.hide()
new.show
---------------------
زر الامر الي يحمل اسم بحث اكتب
me.hide()
search.show
-------------------
زر الامر الي يحمل اسم تعديل البيانات اكتب الكود
Dim edit As New edit
edit.TextBox1.Text = Me.TextBox1.Text
edit.TextBox2.Text = Me.TextBox2.Text
edit.TextBox3.Text = Me.TextBox3.Text
edit.TextBox4.Text = Me.TextBox4.Text
edit.TextBox5.Text = Me.TextBox5.Text
edit.TextBox7.Text = Me.TextBox7.Text
edit.TextBox8.Text = Me.TextBox8.Text
edit.TextBox6.Text = Me.TextBox6.Text
edit.Label6.Text = Me.TextBox1.Text
edit.Show()
Me.Hide()
============================
بعد ان خلصنا من اهم شيء بقاعدة البيانات وهو ربطها بالبرنامج واضافة فورمات التعديل وكملنا واجهة البرنامج الرئيسية نكتفي بهذا القدر اليوم ان شاء الله باجر انكمل لان نعست ^_^
يتبع ....