طريقه وضع زر الاشتراك في اليوتيوب في مدونتك

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


عزيزي القارئ ،، سنتعلم في هذا الدرس إضافة مربع الإشتراك في القناة إلى مدونتك وبذلك لا يضطر الزائر أن يغادر مدونتك للاشتراك في القناة بل يمكنه ذلك وبكل سهولة من خلال مدونتك وبضغطة زر واحدة.


إليك الطريقة:



 من لوحة التحكم   ----- التخطيط   -----   اضافة اداة --------- تختار  html/java script


ثم تضع هذا الكود


<script src="https://apis.google.com/js/plusone.js"></script>

<div class="g-ytsubscribe" data-channelid="YsOVoRs_cqdpp6kIY9orEg" data-layout="full"></div>

ولاتنسي ان تغير هذا الجزء     YsOVoRs_cqdpp6kIY9orEg    الي اسم المستخدم الخاص بك

 ويمكنك الحصول علي اسم المستخدم  من هنـــا

وفقكم الله 







التنقل بين السجلات في الجدول

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

بما اننا اعتمدنا علي الداتا تيبل في التعامل مع البيانات من اول الدروس ،،
 لذلك  سنشرح طريقه الانتقال من خلال رقم السجل في الداتا تيبل
الفكره بأختصار سنقوم بعمل متغير عام  من النوع الرقمي Integer وسنضع به رقم السجل الحالي وبهذا نستطيع التنقل بين السجلات من خلال رقم السجل الحالي  .

 ربما تقول الان لماذا لا نعتمد علي طرق مباشره للتنقل بين السجلات ؟؟
بكل بساطه سأجيب عليك اهم شئ لتصبح مبرمج هو ان يكون لديك افكار مختلفه لتنفيذ الكود وليس روتين في تكرار الاكود
واعتقد ان هذه الفكره ستفيدك في استخدامها في اشياء اخري  ..

نبدأ بتنفيذ الكود:


سنقوم بأضافه اربع  Button  (الاول - التالي - السابق - الاخير )
واداه Label  لنكتب بها رقم السجل

نقوم بالتصريح عن متغير عام في الفورم
Dim x As Integer = 0


حتي نسهل علي انفسنا سنقوم بعمل اجراء واحد لنستخدمه مع جميع ازرار الانتقال
Private Sub rowSelection()

        If DataGridView1.RowCount = 0 Then Label4.Text = "0 of 0 " : Exit Sub

        With DataGridView1

            '  الغاء التحديد في الجريد

            .ClearSelection()

            'تحديد السجل حسب الرقم

            .Rows(x).Selected = True

            'التركيز (الانتقال) الي السجل المعروض

            .FirstDisplayedScrollingRowIndex = x

            TextBox1.Text = .Rows(x).Cells(0).Value.ToString

            TextBox2.Text = .Rows(x).Cells(1).Value.ToString

            TextBox3.Text = .Rows(x).Cells(2).Value.ToString

            Label4.Text = x + 1 & " of " & dt.Rows.Count

        End With

    End Sub
كود السجل الاول
x = 0
  rowSelection()
كود السجل السابق
If x > 0 Then
  x -= 1
  rowSelection()
  End If
كود السجل التالي
If x < dt.Rows.Count - 1 Then
   x += 1
   rowSelection()
   End If

كود السجل الاخير
x = dt.Rows.Count - 1
   rowSelection()

واخير نضيف هذه السطر في اخر الاجراء Loadgrid حتي تتحدث ارقام السجلات مع عمليات الاضافه والحذف

rowSelection()


وبهذا نكون تعلمنا طريقه التنقل بين السجلات

لتحميل المثال اضغط هـــنـا

حذف البيانات من الجدول | 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 )
 
رابط تحميل المثال هــنــا