تعرف على كائنات الاوامر فى بيئة الدوت نت The Command Object in ADO.NET

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

تعرف على كائنات الاوامر فى بيئة الدوت نت The Command Object in ADO.NET

مُساهمة من طرف RANA في الجمعة أكتوبر 10, 2014 10:13 pm

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

فى دروس سابقة  تعرفنا على كائنات الاتصال بمصادر البيانات فى الدوت نت ADO.NET Connection Object و تعلمنا فى دروس منفصلة اخرى كيفية  إنشاء إتصال بقواعد بيانات SQL Server  و ايضا ايضا إنشاء إتصال بقواعد بيانات Access باستخدام كائن الاتصال OleDbConnection وايضا إنشاء إتصال بقواعد بيانات Access باستخدام كائن الاتصال OdbcConnection 

في هذه المقالة سوف نتعلم كيفية العمل و التعامل مع كائنات الأوامر Commands Object في ADO NET و أساليب التنفيذ المستخدمة فى تلك الاوامر  

أولا : مفهوم كائن الاوامر Commands Object

كائن الأمر هو واحد من المكونات الأساسية للADO. NET و الذى يستخدم مع كائن الاتصال لتنفيذ استعلامات SQL .حيث يمكننا هذا الكائن من القيام من تنفيذ جمل الاستعلام مثل (Select – Insert – Delete - ......  )  على قاعدة البيانات والتي يتم تحديدها من خلال كائن الاتصال  Object Connection 

ثانيا :أنواع كائنات الاوامر 

وفرت تقنية ADO NET العديد من كائنات الاوامر بحيث وفرت لكل كائن اتصال Object Connection كائن امر خاص بة Commands Object و فيما يلى اهم كائنات الاوامر :


  • SqlCommand object : و يستخدم كائن الامر هذا لتنفيذ جمل الاستعلامات على مصدرالبيانات والتي يتم تحديدها من خلال كائن الاتصال   SqlConnection
  • OleDbCommand object : و يستخدم كائن الامر هذا لتنفيذ جمل الاستعلامات على مصدرالبيانات والتي يتم تحديدها من خلال كائن الاتصال OleDbConnection
  • OdbcCommand object : و يستخدم كائن الامر هذا لتنفيذ جمل الاستعلامات على مصدرالبيانات والتي يتم تحديدها من خلال كائن الاتصال OdbcConnection
  • OracleCommand object : و يستخدم كائن الامر هذا لتنفيذ جمل الاستعلامات على مصدرالبيانات والتي يتم تحديدها من خلال كائن الاتصال OracleConnection



ثالثا : أساليب التنفيذ التي يمكن استدعاؤها من كائن الأوامر :

الآن، دعونا ننظر الى مختلف تنفيذ الأساليب التي يمكن استدعاؤها من كائن الأوامر وهى على النحو التالى :


  • أسلوب التنفيذ ExecuteNonQuery :هي واحدة من أكثر الطرق استخداما في كائن SqlCommand ويستخدم لتنفيذ عبارات التي لا تعود نتيجة مجموعة.حيث تستخدم لينفذ مهام تعريف البيانات مثل إنشاء الإجراءات و أيضا مهام معالجة البيانات مثل إدراج، تحديث وحذف ...الخ


مثال توضيحيى لكيفية استخدام هذا الاسلوب مع كائن الامر SqlCommand :

الرمز:

Imports System.Data.SqlClient

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim connetionString As String
        Dim cnn As SqlConnection
        Dim cmd As SqlCommand
        Dim sql As String

        connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password"
        sql = "DELETE FROM EMP WHERE DEPTNO = 40"

        cnn = New SqlConnection(connetionString)
        Try
            cnn.Open()
            cmd = New SqlCommand(Sql, cnn)
            cmd.ExecuteNonQuery()
            cmd.Dispose()
            cnn.Close()
            MsgBox(" ExecuteNonQuery in SqlCommand executed !!")
        Catch ex As Exception
            MsgBox("Can not open connection ! ")
        End Try
    End Sub
End Class

 مثال اخر مع كائن الامر OleDbCommand

الرمز:

Imports System.Data.OleDb

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim connetionString As String
        Dim cnn As OleDbConnection
        Dim cmd As OleDbCommand
        Dim sql As String

        connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Your mdb filename;"
        sql = "DELETE FROM EMP WHERE DEPTNO = 40"

        cnn = New OleDbConnection(connetionString)
        Try
            cnn.Open()
            cmd = New OleDbCommand(sql, cnn)
            cmd.ExecuteNonQuery()
            cmd.Dispose()
            cnn.Close()
            MsgBox(" ExecuteNonQuery in OleDbConnection executed !!")
        Catch ex As Exception
            MsgBox("Can not open connection ! ")
        End Try
    End Sub
End Class



  • أسلوب التنفيذ ExecuteScalar : يستخدم هذا الاسلوب في كائن SqlCommand للحصول على قيمة واحدة من قاعدة البيانات بعد تنفيذه.أو بمعنى ينفذ البيانات SQL أو الإجراء المخزن وإرجاع قيمة العددية في العمود الأول من الصف الأول في مجموعة النتائج. إذا كانت مجموعة النتائج يحتوي على أعمدة أكثر من واحد أو الصفوف، إلا أنها تأخذ العمود الأول من الصف الأول، فإن جميع القيم الأخرى تجاهلها. إذا كانت النتيجة تعيين فارغة فإنه سيعود مرجع فارغة.

    لذلك من المفيد جدا للاستخدام مع دالات التجميع مثل Count(*) أو SUM () وما إلى ذلك


مثال توضيحى :

الرمز:

Imports System.Data.SqlClient
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim connetionString As String
        Dim cnn As SqlConnection
        Dim cmd As SqlCommand
        Dim sql As String

        connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password"
        sql = "SELECT SUM(SAL) SAL FROM EMP"

        cnn = New SqlConnection(connetionString)
        Try
            cnn.Open()
            cmd = New SqlCommand(sql, cnn)
            Dim count As Int32 = Convert.ToInt32(cmd.ExecuteScalar())
            cmd.Dispose()
            cnn.Close()
            MsgBox(" No. of Rows " & count)
        Catch ex As Exception
            MsgBox("Can not open connection ! ")
        End Try
    End Sub
End Class

 مثال اخر مع كائن الامر OleDbCommand

الرمز:

Imports System.Data.OleDb
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim connetionString As String
        Dim cnn As OleDbConnection
        Dim cmd As OleDbCommand
        Dim sql As String

        connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Your mdb filename;"
        sql = "Your SQL Statement Here like Select Count(*) from product"

        cnn = New OleDbConnection(connetionString)
        Try
            cnn.Open()
            cmd = New OleDbCommand(sql, cnn)
            Dim count As Int32 = Convert.ToInt32(cmd.ExecuteScalar())
            cmd.Dispose()
            cnn.Close()
            MsgBox(" No of Rows " & count)
        Catch ex As Exception
            MsgBox("Can not open connection ! ")
        End Try
    End Sub
End Class

RANA
....
....

تاريخ التسجيل : 01/08/2013
المساهمات : 64
النقاط : 103
التقيم : 1
الدولة : فلسطين
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعرف على كائنات الاوامر فى بيئة الدوت نت The Command Object in ADO.NET

مُساهمة من طرف أحمد مناع في الأحد أكتوبر 12, 2014 10:18 am

جزاكم الله خيرا أحسنتى الاستاذة الفاضلة رنا

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 809
النقاط : 1478
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعرف على كائنات الاوامر فى بيئة الدوت نت The Command Object in ADO.NET

مُساهمة من طرف RANA في الثلاثاء أكتوبر 14, 2014 9:24 am

من بعض ما عندكم خى احمد

RANA
....
....

تاريخ التسجيل : 01/08/2013
المساهمات : 64
النقاط : 103
التقيم : 1
الدولة : فلسطين
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى