كيفية الاتصال بقاعدة بيانات اكسيس
اضافة بيان الي قاعدة البيانات
عرض البيانات من قاعدة البيانات
حذف بيان معين
تعديل علي بيان حالي
ارجو التثبيت لكي يكون مرجع يسهل علي الكثير
و سوف ابدأ شرح كل نقطة شرح مفصل و وافي انشاء الله
و نبدأ بكود الأتصال :
اولا : ان قاعدة البيانات هي مخزن كبير يتسع لكل ملفات برنامجكك
اعتبرها الارشيف
و كل ما كان الارشيف بتاعك منظم كل ما زاد الاستفادة منه
و سهولة ادخال و استخراج البيانات منه
لذلك انصح قبل انشاء اي قاعدة بيانات استخدام ورقة و قلم
لتحديد المطلوب و المراد بالظبط قبل تنفيذه لكي تري الصورة كاملة قبل البدء
اسف للاطاله و لكن الشرح التفصيلي افضل
شخصيا عند اضافة قاعد بيانات لبرنامجي افضل ربطها برمجيا
اي عن طريق الاكواد
و اختصارا للوقت احب انها تكون في مديول لكي استدعيها بسهولة في اي وقت
و كبدايه سوف انشأ مشروع جديد و اضيف مديول للمشروع و ليكن
Module1
و سوف اقوم بتعريف المتغيرات الثابته معي لكي لا اعيد كتابتها كل مرة
و بعد ذلك سوف اقوم بأضافة كود الأتصال
الان كل ما علي فعله هوا
عند الاتصال بقاعدة البيانات من اي فورم فرعي
فقط كتابة
dataconnection
و سوف يتم استدعاء كود الاتصال
اذا الكود الكامل للمديول
ملحوظة اذا كانت قاعدة البيانات غير محمية بكلمة سوف يكون الكود كالتالي
و الان تمت بحمد الله اول نقطة الي الباقي
----------------------------------------------------------
اضافة بيان لقاعدة البيانات
الان لنقوم بأضافة جدول جديد في قاعدة البيانات وليكن emp
و سوف يحتوي علي بيانات الموظفين مثل الاسم و العنوان و رقم الهاتف
لنسمي اول عمود ب ID و الداتا طيب autonumber
EmpName و الداتا طيب text
EmpAdd وهذا ايضا text
EmpNum وكذلك هذا text
اما فائدة العمود الاول فهو المسلسل الخاص بكل موظف لضمان عدم حدوث خطأ
اثناء وجود تشابه في الاسم مثلا و كذله له استخدامات اخري سوف تظهر مع متابعتك للموضوع
الان سوف نضيف فورم جديد
بداخله 3 تكست بوكس
الاول للاسم و الثاني للعنوان و الثالث لرقم الهاتف
و زر واحد و هو حفظ
و سوف نقوم بكتابة الكود التالي في زر الحفظ
و بهاذا نكون اكملنا النقطة الثانية بحمد الله
-----------------------------------------
اما بالنسبة لعرض البيانات من قاعدة البيانات
فسوف اقوم بأستخدام Data grid view
و سوف استخدمها لعرض البيانات فقط
و لكن يمكن استخدامها لحذف و تعديل و اضافة بيان
ولكن لن تكون مفيدة في حالة العماليات الحسابية مثلا
او اذا اردت من مستخدم البرنامج ادخال رقم تليفون مكون من 11 رقم مثلا
لذلك سنكتفي بعرض البيانات فيها فقط
و الان سوف اقوم بأضافة datagridview1 للمشروع
و سوف اقوم بتغير خصائصها كالشكل التالي
و بعد ذلك نذهب الي الاكواد
سوف انشأ صب جديد
و فائدة انشاء صب جديد هو الاستدعاء
اي اذا كنت تريد عمل ادخال البيانات و عرضها في فورم واحد
كل ما علليك فعله هوا كتابة اسم الصب وليكن loaddata في نهاية كود زرار الحفظ
حتي اذا ما قمت باضافة بيان جديد يظهر تلقائيا في الداتا غريد
و الان اليكم كود الصب
و كما تعلمنا قمت الاول بأستدعاء الاتصال بقاعدة البيانات
ثم بعد ذلك كتبت جملة الاستدعاء للبيانات
و سوف اقوم بشرحها في موضوع مفصل انشاء الله اخر بعد الأنتهاء من الموضوع
بعد ذلك سوف اقوم استدعاء حدث عرض البيانات في حدث فتح الفورم ليكون كوده كالتالي
ويكون اجمالي كود الفورم هوا
وهذا شكل المشروع حتي الان
وبهذا نكون انتهينا من كود عرض البيانات
---------------------------------
عند حذف بيان
لكي نقوم بحذف بيان معين يجب تحديد البيان بدقة حتي لا نقوم بحذف بيان اخر علي سبيل الخطأ
ولذلك انشأنا ID مسلسل
لكي نخبر البرنامج ان يوم بحذف البيان الذي مسلسله 2 مثلا فلا يوجد اكثر من بيان يحمل هذا المسلسل
سوف نضيف زر الحذف تحت الداتا غريد لكي يقوم المستخدم بأختيار البيان الذي يريد حذفه اولا من الداتا غريد
ثم الضغط علي زر الحذف
و سوف يكون الكود للزر كالتالي
شرح الكود
سؤال العميل هل انت متأكد من المسح و لو اجاب بنعم
ro متغير رقمي بيساوي رقم الصف الي فيه البيان المراد مسحه
و خلي delnum متغير رقمي يساوي رقم المسلسل للبيان المراد حذفه الموجود في الصف رقم ro من قاعدة البيانات
كود الاتصال
جملة الاستعلام : امسح البيان اللي مسلسله delnum
اقفل الاتصال
اظهر رسالة للمستخدم تم المسح
اعمل تحديث للداتا اللي في الداتا غريد
وهذا هو الفورم حتي الان
--------------------------------------------------
اضافة بيان الي قاعدة البيانات
عرض البيانات من قاعدة البيانات
حذف بيان معين
تعديل علي بيان حالي
ارجو التثبيت لكي يكون مرجع يسهل علي الكثير
و سوف ابدأ شرح كل نقطة شرح مفصل و وافي انشاء الله
و نبدأ بكود الأتصال :
اولا : ان قاعدة البيانات هي مخزن كبير يتسع لكل ملفات برنامجكك
اعتبرها الارشيف
و كل ما كان الارشيف بتاعك منظم كل ما زاد الاستفادة منه
و سهولة ادخال و استخراج البيانات منه
لذلك انصح قبل انشاء اي قاعدة بيانات استخدام ورقة و قلم
لتحديد المطلوب و المراد بالظبط قبل تنفيذه لكي تري الصورة كاملة قبل البدء
اسف للاطاله و لكن الشرح التفصيلي افضل
شخصيا عند اضافة قاعد بيانات لبرنامجي افضل ربطها برمجيا
اي عن طريق الاكواد
و اختصارا للوقت احب انها تكون في مديول لكي استدعيها بسهولة في اي وقت
و كبدايه سوف انشأ مشروع جديد و اضيف مديول للمشروع و ليكن
Module1
و سوف اقوم بتعريف المتغيرات الثابته معي لكي لا اعيد كتابتها كل مرة
كود :
Public cnn As New OleDb.OleDbConnection
Public cmd As New OleDb.OleDbCommand
Public dbpass As String = "data base password"
و بعد ذلك سوف اقوم بأضافة كود الأتصال
كود :
Public Sub dataconnection()
If cnn.State = ConnectionState.Open Then ' اذا كان الاتصال مفتوح اغلقه
cnn.Close()
End If
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\data.mdb;Jet OLEDB:Database Password=" & dbpass
If Not cnn.State = ConnectionState.Open Then
'افتح الاتصال
cnn.Open()
End If
End Sub
الان كل ما علي فعله هوا
عند الاتصال بقاعدة البيانات من اي فورم فرعي
فقط كتابة
dataconnection
و سوف يتم استدعاء كود الاتصال
اذا الكود الكامل للمديول
كود :
Module Module1
Public cnn As New OleDb.OleDbConnection
Public cmd As New OleDb.OleDbCommand
Public dbpass As String = "data base password"
Public Sub dataconnection()
If cnn.State = ConnectionState.Open Then ' اذا كان الاتصال مفتوح اغلقه
cnn.Close()
End If
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\data.mdb;Jet OLEDB:Database Password=" & dbpass
If Not cnn.State = ConnectionState.Open Then
'افتح الاتصال
cnn.Open()
End If
End Sub
End Module
ملحوظة اذا كانت قاعدة البيانات غير محمية بكلمة سوف يكون الكود كالتالي
كود :
Module Module1
Public cnn As New OleDb.OleDbConnection
Public cmd As New OleDb.OleDbCommand
Public dbpass As String = ""
Public Sub dataconnection()
If cnn.State = ConnectionState.Open Then ' اذا كان الاتصال مفتوح اغلقه
cnn.Close()
End If
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\data.mdb;Jet OLEDB:Database Password=" & dbpass
If Not cnn.State = ConnectionState.Open Then
'افتح الاتصال
cnn.Open()
End If
End Sub
End Module
و الان تمت بحمد الله اول نقطة الي الباقي
----------------------------------------------------------
اضافة بيان لقاعدة البيانات
الان لنقوم بأضافة جدول جديد في قاعدة البيانات وليكن emp
و سوف يحتوي علي بيانات الموظفين مثل الاسم و العنوان و رقم الهاتف
لنسمي اول عمود ب ID و الداتا طيب autonumber
EmpName و الداتا طيب text
EmpAdd وهذا ايضا text
EmpNum وكذلك هذا text
اما فائدة العمود الاول فهو المسلسل الخاص بكل موظف لضمان عدم حدوث خطأ
اثناء وجود تشابه في الاسم مثلا و كذله له استخدامات اخري سوف تظهر مع متابعتك للموضوع
الان سوف نضيف فورم جديد
بداخله 3 تكست بوكس
الاول للاسم و الثاني للعنوان و الثالث لرقم الهاتف
و زر واحد و هو حفظ
و سوف نقوم بكتابة الكود التالي في زر الحفظ
كود :
dataconnection()
cmd.Connection = cnn
cmd.CommandText = "INSERT INTO [emp] " & _
"([EmpName],[EmpAss],[EmpNum]) VALUES" & _
"('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "')"
cmd.ExecuteNonQuery()
cnn.Close()
و بهاذا نكون اكملنا النقطة الثانية بحمد الله
-----------------------------------------
اما بالنسبة لعرض البيانات من قاعدة البيانات
فسوف اقوم بأستخدام Data grid view
و سوف استخدمها لعرض البيانات فقط
و لكن يمكن استخدامها لحذف و تعديل و اضافة بيان
ولكن لن تكون مفيدة في حالة العماليات الحسابية مثلا
او اذا اردت من مستخدم البرنامج ادخال رقم تليفون مكون من 11 رقم مثلا
لذلك سنكتفي بعرض البيانات فيها فقط
و الان سوف اقوم بأضافة datagridview1 للمشروع
و سوف اقوم بتغير خصائصها كالشكل التالي
و بعد ذلك نذهب الي الاكواد
سوف انشأ صب جديد
و فائدة انشاء صب جديد هو الاستدعاء
اي اذا كنت تريد عمل ادخال البيانات و عرضها في فورم واحد
كل ما علليك فعله هوا كتابة اسم الصب وليكن loaddata في نهاية كود زرار الحفظ
حتي اذا ما قمت باضافة بيان جديد يظهر تلقائيا في الداتا غريد
و الان اليكم كود الصب
كود :
Private Sub loaddata()
dataconnection()
Dim da As New OleDb.OleDbDataAdapter("SELECT * From data ORDER BY ID", cnn)
Dim dt As New DataTable
da.Fill(dt)
Me.DataGridView1.DataSource = dt
End sub
و كما تعلمنا قمت الاول بأستدعاء الاتصال بقاعدة البيانات
ثم بعد ذلك كتبت جملة الاستدعاء للبيانات
و سوف اقوم بشرحها في موضوع مفصل انشاء الله اخر بعد الأنتهاء من الموضوع
بعد ذلك سوف اقوم استدعاء حدث عرض البيانات في حدث فتح الفورم ليكون كوده كالتالي
كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
loaddata()
End Sub
ويكون اجمالي كود الفورم هوا
كود :
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
dataconnection()
cmd.Connection = cnn
cmd.CommandText = "INSERT INTO [emp] " & _
"([EmpName],[EmpAss],[EmpNum]) VALUES" & _
"('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "')"
cmd.ExecuteNonQuery()
cnn.Close()
loaddata()
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
loaddata()
End Sub
Private Sub loaddata()
dataconnection()
Dim da As New OleDb.OleDbDataAdapter("SELECT * From data ORDER BY ID", cnn)
Dim dt As New DataTable
da.Fill(dt)
Me.DataGridView1.DataSource = dt
End Sub
End Class
وهذا شكل المشروع حتي الان
وبهذا نكون انتهينا من كود عرض البيانات
---------------------------------
عند حذف بيان
لكي نقوم بحذف بيان معين يجب تحديد البيان بدقة حتي لا نقوم بحذف بيان اخر علي سبيل الخطأ
ولذلك انشأنا ID مسلسل
لكي نخبر البرنامج ان يوم بحذف البيان الذي مسلسله 2 مثلا فلا يوجد اكثر من بيان يحمل هذا المسلسل
سوف نضيف زر الحذف تحت الداتا غريد لكي يقوم المستخدم بأختيار البيان الذي يريد حذفه اولا من الداتا غريد
ثم الضغط علي زر الحذف
و سوف يكون الكود للزر كالتالي
كود :
MessageBox.Show("هل تريد حذف الرقم", "تأكيد", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If vbYes Then
Dim delnum As Integer
Dim ro As Integer = DataGridView1.CurrentRow.Index
delnum = DataGridView1.Rows(ro).Cells("num").Value
dataconnection()
cmd.Connection = cnn
cmd.CommandText = "DELETE FROM data WHERE id='" & delnum & "' "
cmd.ExecuteNonQuery()
cnn.Close()
delnum = 0
MessageBox.Show("تم حذف الرقم من قاعدة البيانات نهائيا")
loaddata()
End If
شرح الكود
سؤال العميل هل انت متأكد من المسح و لو اجاب بنعم
ro متغير رقمي بيساوي رقم الصف الي فيه البيان المراد مسحه
و خلي delnum متغير رقمي يساوي رقم المسلسل للبيان المراد حذفه الموجود في الصف رقم ro من قاعدة البيانات
كود الاتصال
جملة الاستعلام : امسح البيان اللي مسلسله delnum
اقفل الاتصال
اظهر رسالة للمستخدم تم المسح
اعمل تحديث للداتا اللي في الداتا غريد
وهذا هو الفورم حتي الان
--------------------------------------------------
اللهم صلي وسلم و بارك علي اشرف الخلق و اكرم المرسلين سيدنا محمد ﷺ
لا تنسوني من صالح دعائكم
السلام عليكم و رحمة الله و بركاته
لا تنسوني من صالح دعائكم
السلام عليكم و رحمة الله و بركاته
ليست هناك تعليقات :
إرسال تعليق