حذف البيانات من الجدول | Delete

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



لحذف البيانات في الجدول نستخدم جمله Delete وتكتب الجمله بهذاالشكل : 

DELETE FROM table_name
WHERE column_name = some_value

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

       'Command وضعنا جمله الاستعلام في متغير نصي ثم اسنادها الي كائن الامر 
        sql = "Delete from employees  Where Emp_code =  @Emp_code "
        Cmd.CommandText = sql
        ' وضع القيمه الخاصه  بالبارميتر
        Cmd.Parameters.Clear()
        Cmd.Parameters.AddWithValue("@Emp_code", TextBox1.Text)
        If Cn.State = ConnectionState.Closed Then Cn.Open()
        'تنفيذ الاستعلام
        Cmd.ExecuteNonQuery()
        ' غلق الاتصال 
        Cn.Close()
       MessageBox.Show("تم الحذف بنجاح", "حذف  ", MessageBoxButtons.OK, MessageBoxIcon.Information)

تذكر  :
  • لابد من وجود شرط في جمله الحذف حتي لا يتم حذف بيانات الجدول بالكامل .
  • لا تنسي ان تحذف البيانات من البارميتر قبل استعماله حتي تتجنب الاخطاء .
  • لاحظ اننا استخدمنا ExecuteNonQuery  ايضا لان الاستعلام لا يرجع لنا ببيانات فقط سيقوم بتنفيذ التعديل دون الرجوع ببيانات .


رابط تحميل المثال هــنــا



تعديل البيانات في الجدول | UPDATE

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

UPDATE
لتعديل البيانات في الجدول نستخدم جمله UPDATE وتكتب الجمله بهذاالشكل :


UPDATE table_name
SET column_name1 = new_value ,
column_name2 = new_value,.... 
WHERE column_name = some_value 

 يمكنك من خلال هذه  الجمله تعديل عمود او اكثر فقط بكتابه اسم العمود في الجمله column_name1 = new_value
ولكن لابد من وجود شرط في جمله التعديل حتي لا يتم تعديل بيانات الجدول بالكامل 

نكمل علي مثالنا لنري كيفيه كتابه كود التعديل :

'  Command وضعنا جمله التعديل  في متغير نصي ثم اسنادها الي كائن الامر 
        sql = "UPDATE employees set Emp_name = @Emp_name ,Emp_phone=@Emp_phone Where Emp_code =  @Emp_code "

        Cmd.CommandText = sql
        ' وضع القيم الخاصه بكل بارميتر
        Cmd.Parameters.Clear()
        Cmd.Parameters.AddWithValue("@Emp_name", TextBox2.Text)
        Cmd.Parameters.AddWithValue("@Emp_phone", TextBox3.Text)
        Cmd.Parameters.AddWithValue("@Emp_code ", TextBox1.Text)
        'التأكد من حاله الاتصال
        If Cn.State = ConnectionState.Closed Then Cn.Open()
        'تنفيذ الاستعلام
        Cmd.ExecuteNonQuery()
        ' غلق الاتصال 
        Cn.Close()
       
        MessageBox.Show("تم التعديل بنجاح", "تعديل ", MessageBoxButtons.OK, MessageBoxIcon.Information)


ملاحظات هامه :
  • لابد من وجود شرط في جمله التعديل حتي لا يتم تعديل بيانات الجدول بالكامل .
  • انت غير ملزم ان يكون ترتيب الاعمده في جمله الاستعلام بنفس ترتيب الجدول.
  • لا تنسي ان تحذف البيانات من البارميتر قبل استعماله حتي تتجنب الاخطاء .
  • حاول ان يكون ترتيب البارميترات في الكود بنفس ترتيبها في جمله التعديل .
  • لاحظ اننا استخدمنا ExecuteNonQuery  لان الاستعلام لا يرجع لنا ببيانات فقط سيقوم بتنفيذ التعديل دون الرجوع ببيانات .
وبهذا يكون اتضح لنا الفرق بين :
(ExecuteNonQuery و ExecuteScalar  و ExecuteReader )
 
رابط تحميل المثال هــنــا




اضافه البيانات في الجدول | Insert into


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


Insert into


سنتعلم في هذا المثال :

  • الترقيم التلقائي
  • الاضافه في الجدول عن طريق البارميترات 
  • مسح محتويات جميع  التيكست بوكس علي الفورم
  • نقل بيانات السطر المحدد في الداتا جريد الي التيكست  بوكس
  • تنسيق العرض في الداتا جريد

لا ضافه البيانات في الجدول نستخدم Insert into وتكتب الجمله بهذاالشكل :

لاضافه صف كامل بالجدول تكون بالشكل التالي :


INSERT INTO table_name VALUES  (value1, value2,....)

ويمكنك ايضا تحديد الحقول المطلوب إضافتها فقط وتكون كالتالى :

INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,....)


شرح اهم الاكواد في المثال  :



  • كود الترقيم التلقائي 
Cmd.CommandText = "Select Max(Emp_code) from employees "

 If Cn.State = ConnectionState.Closed Then Cn.Open()

 Dim Max As Integer = Val(Cmd.ExecuteScalar.ToString) + Val("1")

من خلال max في جمله الاستعلام نحصل علي اكبر رقم في حقل الكود ،، ثم نقوم بتنفيذ الاستعلام ونضيف عليه واحد 
وهكذا نكون حصلنا علي ترقيم تلقائي 
لاحظ اننا استخدمنا ExecuteScalar   لان ناتج الاستعلام خليه واحده كما ذكرنا في الدرس السابق

  • كود الاضافه
'  Command وضعنا جمله الاستعلام في متغير نصي ثم اسنادها الي كائن الامر 

        sql = "Insert into employees  values (@Emp_code ,@Emp_name,@Emp_phone)"

        Cmd.CommandText = sql

        ' وضع القيم الخاصه بكل بارميتر
        Cmd.Parameters.Clear()
        Cmd.Parameters.AddWithValue("@Emp_code ", Max)
        Cmd.Parameters.AddWithValue("@Emp_name", TextBox2.Text)
        Cmd.Parameters.AddWithValue("@Emp_phone", TextBox3.Text)

        'تنفيذ الاستعلام
        Cmd.ExecuteNonQuery()

        ' غلق الاتصال 
        Cn.Close()

لاحظ اننا استخدمنا ExecuteNonQuery  لان الاستعلام لا يرجع لنا ببيانات فقط سيقوم بتنفيذ الاضافه 
  • مسح محتويات جميع  التيكست بوكس علي الفورم
        For Each ctrl As Control In Me.Controls
            If TypeOf ctrl Is TextBox Then
                CType(ctrl, TextBox).Clear()
            End If
        Next 


  • نقل بيانات السطر المحدد في الداتا جريد الي التيكست  بوكس
 في حدث CellClick  للداتا جريد نكتب هذا الكود 
TextBox1.Text = DataGridView1.Rows(e.RowIndex).Cells(0).Value.ToString

TextBox2.Text = DataGridView1.Rows(e.RowIndex).Cells(1).Value.ToString

TextBox3.Text = DataGridView1.Rows(e.RowIndex).Cells(2).Value.ToString


 لا حظ اننا قمنا بتحويل محتوي خليه الداتا جريد الي نصي من خلال ToString
 وقمنا بالحصول علي رقم السطر المحدد في الداتا جريد من خلال e.RowIndex   

 ان شاء الله يكون الدرس واضح ومفهوم 
اذا واجهك اي صعوبه في الكود لا تتردد في السؤال 

رابط تحميل المثال هــنــا