- tarik
- عدد المساهمات : 134
تاريخ التسجيل : 08/10/2012
التعامل مع قواعد البيانات من الألف إلى الياء | شرح بالتفصيل و الصور part2
الثلاثاء أكتوبر 09, 2012 12:22 pm
سنتحدث الأن عن أماور الإضافة و الحذف و تحديث البيانات المدخلة سابقا و كل منها سأضعه في رد منفصل لزيادة الفهم
قبل البدء أريد من الجميع تغيير الحقل التالي في قاعدة البيانات
Number إلى Phone_Number
عملية الإضافة :
إن مبدأ الإضافة هو Insert Into أي نقوم بإدخال قيمة محددة في أحد حقول جدول ما في قاعدة بيانات و كوده لبرنامجنا هو
بالنسبة للـ
عملية البحث
مثل ما ذكرت في الرد السابق نقوم باضافة التالي للـ ComboBox الذي في الأخير نلاحظ
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]
و الأن ندخل على زر البحث و نضع الكود التالي
مثل ما نلاحظ استعملنا استعملنا الـ Select Case لكي نتجنب الـ IF
و في الـ Case الأولى عندما يكون الكومبو على خيار اسم الشخص ينفذ الكود و المهم في الكود هو
بعد وضع الـ Like يصبح البحث عام يعني إذا وضعت حرف واحد فقط يظهر جميع النتائج التي تحتوي على هذا الحرف
و بهذه الطريقة خلص البرنامج
قبل البدء أريد من الجميع تغيير الحقل التالي في قاعدة البيانات
Number إلى Phone_Number
عملية الإضافة :
إن مبدأ الإضافة هو Insert Into أي نقوم بإدخال قيمة محددة في أحد حقول جدول ما في قاعدة بيانات و كوده لبرنامجنا هو
- الكود:
Try
Dim SavInto As New OleDb.OleDbCommand
Dim ConStr As String = _
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & _
Application.StartupPath & "\Database.mdb"
Dim Conn As New OleDbConnection(ConStr)
SavInto.Connection = Conn
SavInto.CommandType = CommandType.Text
SavInto.CommandText = "INSERT INTO Table1(Name,Phone_Number,Address,Mobile)" & _
"values ('" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & TextBox7.Text & "') "
Conn.Open()
SavInto.ExecuteNonQuery()
Conn.Close()
MsgBox("تمت عملية الاضافة والحفظ في قاعدة البيانات بنجاح")
Catch ex As Exception
Exit Sub
End Try
Dim frm As New Form1
Me.Hide()
frm.Show()
بالنسبة للـ
- الكود:
SavInto.CommandText = "INSERT INTO Table1(Name,Phone_Number,Address,Mobile)" & _
"values ('" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & TextBox7.Text & "') "
[code]
هذا هو الكود الذي حدثتكم عنه ما بين القوسين في البداية هي اسماء جداول القاعدة أما القوسين في الاسفل هي مربعات النص كل مربع يرافق أحد الحقول بالترتيب أي الحقل الأول هو الـ Name يقابله مربع النص TextBox4 موضوع سهل صح ؟؟
[/code]
[code]
Dim frm As New Form1
Me.Hide()
frm.Show()
[/code]
إن مشكلة هذه الطريقة أنها تحتاج إلى إعادة تشغيل البرنامج من جديد لكي تظهر القيم الجديدة و هنا قمنا بإعادة تحميل البرنامج لكي تظهر القيم الجديدة
عمليتي الحذف و التعديل على السجلات
إن فكرة الحذف هي أن نأخذ قيمة ما من أي سجل سواء كان الاسم أو الرقم أو العنوان حسب ما تراه أنت مناسب و سيقوم البرنامج بنفيذ الكود و بحذف كل ما في السجل إنطلاقا من القيمة التي اخترتها
[code]
If MsgBox("هل تريد حذف السجل الحالي", MsgBoxStyle.OkCancel) = MsgBoxResult.Cancel Then
Exit Sub
End If
Dim SavInto As New OleDb.OleDbCommand
Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, Conn)
SavInto.Connection = Conn
SavInto.CommandType = CommandType.Text
SavInto.CommandText = "DELETE FROM Table1 WHERE Address ='" & Trim(TextBox3.Text) & "'"
Conn.Open()
SavInto.ExecuteNonQuery()
DataSet1.Clear()
DataAdapter1.Fill(DataSet1, "Table1")
Conn.Close()
MsgBox("تمت عملية حذف السجل")
ChangePosition()
[/code]
هذا الكود هو المهم
[code]
SavInto.CommandText = "DELETE FROM Table1 WHERE Address ='" & Trim(TextBox3.Text) & "'"
[/code]
نلاحذ كيف دللنا البرنامج على حقل العنوان و سيعرف السجل الذي يريد حذفه من خلال المكتوب في مربع النص رقم ثلاثة يعني إذا تريد تعديلها عدل اسم الجدول و الحقل و رقم التكست تمام
<------------------------------------------->
الأن التعديل
أول شي ضيف زر جديد و خليه بجانب زر حفظ السجل و سمه حفظ التعديل
ليصبح الفورم بهذا الشكل
http://www.vb4arab.com/vb/uploaded/3...1282164697.gif
الأن ضع الكود التالي في زر تعديل السجل و هو المسؤول عن نقل كل ما في مربعات نصوص العرض إلى التعديل
[code[
TextBox4.Text = TextBox1.Text
TextBox5.Text = TextBox2.Text
TextBox6.Text = TextBox3.Text
TextBox7.Text = TextBox12.Text
- الكود:
Dim SavInto As New OleDb.OleDbCommand
Dim ConStr As String = _
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & _
Application.StartupPath & "\Database.mdb"
Dim Conn As New OleDbConnection(ConStr)
SavInto.Connection = Conn
SavInto.CommandType = CommandType.Text
SavInto.CommandText = "UPDATE Table1 SET Name = '" & Trim(TextBox4.Text) & "' , Phone_Number= '" & Trim(TextBox5.Text) & "' , Address= '" & Trim(TextBox6.Text) & "', Mobile= '" & Trim(TextBox7.Text) & "' WHERE Address ='" & TextBox3.Text & "'"
Conn.Open()
SavInto.ExecuteNonQuery()
Conn.Close()
MsgBox("تمت عملية الاضافة والحفظ في قاعدة البيانات بنجاح")
Dim frm As New Form1
Me.Hide()
frm.Show()
عملية البحث
مثل ما ذكرت في الرد السابق نقوم باضافة التالي للـ ComboBox الذي في الأخير نلاحظ
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]
و الأن ندخل على زر البحث و نضع الكود التالي
- الكود:
Select Case ComboBox1.Text
Case "اسم الشخص"
On Error Resume Next
Dim MyRows() As DataRow = DataSet1.Tables("Table1").Select("Name LIKE '%" & Trim(TextBox9.Text) & "%'")
Dim FoundRows As DataTable = DataSet1.Tables("Table1").Clone
Dim dr As DataRow
For Each dr In MyRows
FoundRows.ImportRow(dr)
Next
DataGridView1.DataSource = FoundRows
TextBox1.DataBindings.Add("Text", DataSet1, "Table1.Name")
TextBox2.DataBindings.Add("Text", DataSet1, "Table1.Phone_Number")
TextBox3.DataBindings.Add("Text", DataSet1, "Table1.Address")
TextBox12.DataBindings.Add("Text", DataSet1, "Table1.Mobile")
Case "رقم الهاتف"
On Error Resume Next
Dim MyRows() As DataRow = DataSet1.Tables("Table1").Select("Phone_Number LIKE '%" & Trim(TextBox9.Text) & "%'")
Dim FoundRows As DataTable = DataSet1.Tables("Table1").Clone
Dim dr As DataRow
For Each dr In MyRows
FoundRows.ImportRow(dr)
Next
DataGridView1.DataSource = FoundRows
TextBox1.DataBindings.Add("Text", DataSet1, "Table1.Name")
TextBox2.DataBindings.Add("Text", DataSet1, "Table1.Phone_Number")
TextBox3.DataBindings.Add("Text", DataSet1, "Table1.Address")
TextBox12.DataBindings.Add("Text", DataSet1, "Table1.Mobile")
Case "عنوان الشخص"
On Error Resume Next
Dim MyRows() As DataRow = DataSet1.Tables("Table1").Select("Address LIKE '%" & Trim(TextBox9.Text) & "%'")
Dim FoundRows As DataTable = DataSet1.Tables("Table1").Clone
Dim dr As DataRow
For Each dr In MyRows
FoundRows.ImportRow(dr)
Next
DataGridView1.DataSource = FoundRows
TextBox1.DataBindings.Add("Text", DataSet1, "Table1.Name")
TextBox2.DataBindings.Add("Text", DataSet1, "Table1.Phone_Number")
TextBox3.DataBindings.Add("Text", DataSet1, "Table1.Address")
TextBox12.DataBindings.Add("Text", DataSet1, "Table1.Mobile")
Case "رقم موبايل الشخص"
On Error Resume Next
Dim MyRows() As DataRow = DataSet1.Tables("Table1").Select("’Mobile LIKE '%" & Trim(TextBox9.Text) & "%'")
Dim FoundRows As DataTable = DataSet1.Tables("Table1").Clone
Dim dr As DataRow
For Each dr In MyRows
FoundRows.ImportRow(dr)
Next
DataGridView1.DataSource = FoundRows
TextBox1.DataBindings.Add("Text", DataSet1, "Table1.Name")
TextBox2.DataBindings.Add("Text", DataSet1, "Table1.Phone_Number")
TextBox3.DataBindings.Add("Text", DataSet1, "Table1.Address")
TextBox12.DataBindings.Add("Text", DataSet1, "Table1.Mobile")
End Select
مثل ما نلاحظ استعملنا استعملنا الـ Select Case لكي نتجنب الـ IF
و في الـ Case الأولى عندما يكون الكومبو على خيار اسم الشخص ينفذ الكود و المهم في الكود هو
- الكود:
Dim MyRows() As DataRow = DataSet1.Tables("Table1").Select("Address LIKE '%" & Trim(TextBox9.Text) & "%'")
بعد وضع الـ Like يصبح البحث عام يعني إذا وضعت حرف واحد فقط يظهر جميع النتائج التي تحتوي على هذا الحرف
- الكود:
DataGridView1.DataSource = FoundRows
TextBox1.DataBindings.Add("Text", DataSet1, "Table1.Name")
TextBox2.DataBindings.Add("Text", DataSet1, "Table1.Phone_Number")
TextBox3.DataBindings.Add("Text", DataSet1, "Table1.Address")
TextBox12.DataBindings.Add("Text", DataSet1, "Table1.Mobile")
و بهذه الطريقة خلص البرنامج
- المبرمجه جوجو
- عدد المساهمات : 1
تاريخ التسجيل : 01/07/2015
رد: التعامل مع قواعد البيانات من الألف إلى الياء | شرح بالتفصيل و الصور part2
الأحد يوليو 12, 2015 7:03 am
الموضوع مفيدا جدا عاشت الايادي ...انا استفاديت منه هوايه
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى