عرض البيانات في | 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()

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

الاتصال بقواعد البيانات | Connection




بسم الله الرحمن الرحيم


ADO.NET  
Active Data Object.Net





                                           :::¸¸.•*´¨`*•.¸¸.::: ــــــــــــــ :::¸¸.•*´¨`*•.¸¸.:::

ما هي ال ADO.NET   

هي عبارة عن مجموعه من الفئات Classes للتعامل مع مصادر البيانات

وهي موجودة تحت الاسم  System.Data

وما يهمنا في هذا الشرح قواعد البيانات المترابطة مثل (Access & Sql server)


ما هي البيئة التي تتعامل فيها  ADO.NET   

هناك بيئتان تتعامل معها ال ADO.NET  وهما :

           البيئة المتصلة     connected Environment

في هذه البيئة يكون المستخدم متصلا باستمرار بمصدر البيانات

( قاعدة البيانات ) طول فتره التعامل مع البيانات


          البيئة المنفصلة  Disconnected Environment

في هذه البيئه يتم نسخ البيانات من مصدر البيانات إلي الذاكرة ويتم معالجتها وتعديلها بعيدا  عنه ثم ارجاع التعديلات إلي مصدر البيانات


كيفيه الاتصال بقاعدة البيانات

·       كائن الاتصال Connection

هو الكائن المخصص للأتصال بقاعده البيانات ويستخدم في فتح وغلق الاتصال .


أولا يتم اضافه مرجع الي فضاء الاسماء كما في الصوره


      في حاله الاتصال بقاعده بيانات SQL SERVER


Imports System.Data.SqlClient  
 


في حاله الاتصال بقاعده بيانات Access 


Imports System.Data.OleDb  


الخطوة التاليه هي الاتصال بقاعده البيانات عن طريق كائن الاتصال وسنتكلم هنا عن :

 
 جمله الاتصال ب SQL SERVER في حاله الدخول بصلاحيات الويندوز

Dim cn As New SqlConnection("Data Source=localhost\sqlexpress;Initial Catalog=Data_base_name;Integrated Security=True ")  

  


 جمله الاتصال ب SQL SERVER في حاله الدخول باسم مستخدم وكلمه مرور

Dim cn As New SqlConnection("data source=.;initial catalog= Data_base_name ;user id=sa;password=*****")  
 

 جمله الاتصال ب Access 2003   في حاله عدم وجود كلمه مرور 

Dim CN As New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\db.mdb")  


 جمله الاتصال ب Access 2003   في حاله وجود كلمه مرور


Dim CN03PSS As New OleDbConnection ("provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\db03ps.mdb;user id=admin;jet oledb:database password=******")  



  

 جمله الاتصال ب Access 2007   في حاله عدم وجود كلمه مرور  

Dim CN As New OleDbConnection ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\db.accdb")  



     جمله الاتصال ب Access 2007   في حاله وجود كلمه مرور


Dim CN As New  OleDbConnection ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath &"\db.accdb;user id=admin;jet oledb:database password=******")  

ثم نكتب الكود التالي لفتح أو غلق الاتصال بقاعدة البيانات
  
CN.Open()          لفتح الاتصال
CN.Close()       لغلق الاتصال

ملاحظات هامه جداا جداا :

اسم السيرفر يمكن الاشاره إليه ب  data source = server

اسم السيرفر يمكن أن يكون احد الأشكال الاتيه :

 


Localhost\sqlexpress 
 .\sqlexpress 
 pc_Name\sqlexpress 
 IP_Adress 
  لا نضيفها الا في حاله العمل علي النسخه الاكسبريس فقط  \sqlexpress  

اسم قاعدة البيانات يمكن الاشاره إليه ب 

  initial catalog  = database


عند التعامل مع قاعدة بيانات سيكوال سيرفر لابد من تنصيبها علي الجهاز السيرفر لدي  العميل  ويمكن تحزيم النسخة الاكسبريس منها مع برنامج وستجدها موجودة في جهازك في المسار



إذا كانت النسخة لديك 2005

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\SqlExpress  



إذا كانت النسخة لديك 2008

C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\SqlExpress2008  


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

  
    للحصول علي جميع سلاسل الاتصال بقواعد البيانات يمكنك زيارة هذا الموقع 
 

يتبع ،،،،