عرض البيانات في | DataGridView | الوضع المتصل


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



اليوم بمشيئه الله سنستعرض كيفيه استدعاء بيانات من قاعده البيانات وعرضها في DataGridView
كنا في الدرس السابق تكلمنا عن كائن الاتصال Connection

واليوم ان شاء الله سيكون كلامنا عن الكائن الثاني وهو  Command



      كائن الامر Command
هو الكائن المسؤل عن تنفيذ جمل الاستعلام Sql  مثل (select – insert – delete - update)
 أو  تنفيذ الإجراءات المخزنة StoredProcedure .
وله ثلاث حالات :

   ExecuteReader : تستخدم عند رجوع الاستعلام بسجل او اكثر  مثل الاستعلام عن بيانات
 ExecuteNonQuery :تستخدم عند تنفيذ استعلام لا يرجع بقيم مثل insert – delete - update 
ExecuteScalar : تستخدم عند رجوع الاستعلام بخليه واحده مثل الاجمالي او اكبر قيمه  وهكذا ،،،



  كائن DataTable
من خلال هذا الكائن يتم التعامل مع الجداول الموجودة في قاعدة البيانات وهو عبارة عن جدول يحتوي على مجموعة من الصفوف والأعمدة  .




وكما يقال بالمثال يتضح المقال ... 
الخطوه الاولي (انشاء قاعده البيانات)
 سنقوم  بأنشاء قاعده بيانات جديده ونسميها  بالاسم  db
ثم نقوم بأنشاء جدول بسيط مكون من ثلاث اعمده 

Emp_code      Number   
Emp_name            Text     
Emp_phone          Text  

ثم نسمي الجدول  بالاسم employees


ننتقل الي الخطوه الثانيه ( تصميم الفورم )
افتح برنامج الفيجوال Microsoft Visual Studio 
وقم بأنشاء مشروع جديد 
اضف اداه  DataGridView  علي الفورم 


الخطوه الثالثه والاخيره (كتابه الاكواد)


نقوم بأستدعاء مكتبات الدوت نت  كما تعلمنا في الدرس السابق  بكتابه هذا الكود في منطقه التصريحات العامه

Imports System.Data.OleDb  


ثم نكتب الكود التالي في حدث  Form1_Load


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        'الاتصال بقاعده البيانات 
        Dim Cn As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=  " & Application.StartupPath & "\db.mdb ")
        'اسناد جمله الاستعلام ومصدر الاتصال  الي كائن الامر
        Dim Cmd As New OleDbCommand("SELECT * FROM employees ", Cn)
        Cn.Open() ' فتح الاتصال 
        'انشاء متغير من نوع  DataTable 
        Dim dt As New DataTable
        ' تحميل السجلات العائده من الاستعلام في الداتا تيبل
        dt.Load(Cmd.ExecuteReader)
        ' ربط مصدر البيانات للدات جريد
        DataGridView1.DataSource = dt

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




الي هنا انتهينا من عرض  البيانات .. ولكن دعنا نقوم بتنسيق العرض قليلا في  اداه DataGridView  

قم بكتابه الاجراء التالي 

      Private Sub grid()


        ' كود التحكم في عرض الخلايا 
        DataGridView1.Columns(2).Width = 150
        DataGridView1.Columns(0).Width = 150

        ' الكود التالي لتوسيط الأعمدة
        DataGridView1.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        DataGridView1.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        DataGridView1.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter



        'تحديد السطر بالكامل وليس خليه واحده
        DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect

        ' تغير اسامي العناوين للهيدر
        DataGridView1.Columns(0).HeaderText = "الكود"
        DataGridView1.Columns(1).HeaderText = "الاسم"
        DataGridView1.Columns(2).HeaderText = "التليفون"
        ' توسيط الهيدر 
        DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

        ' كود جعل ثاني خليه  'الاسم' تأخذ باقي عرض الداتا جريد
        DataGridView1.Columns(1).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
        ' تلوين سطر وسطر 
        DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray

    End Sub


ولاستدعاء هذا الاجراء قم بكتابه هذا الكود في اخر سطر في الحدث Form1_Load
Call grid()

الي هنا انتهينا من هذا الدرس  ،،، لتحميل المثال من  هـــنـا