كيفية الاتصال بقاعدة بيانات وتشغيل أمر باستخدام ADO.NET 2005 و 2005 Visual C# أو باستخدام ADO.NET و Visual C#.NET

للحصول على إصدار Microsoft Visual Basic.NET من هذه المقالة، راجع
301075 .
للحصول على إصدار Microsoft Visual J#.NET من هذه المقالة، راجع
322045 .

تشير هذه المقالة إلى مكتبة فئات Microsoft.NET Framework مساحات الأسماء التالية:
  • System.Data
  • System.Data.SqlClient

ملخص

هذه المقالة خطوة بخطوة كيفية استخدام ADO.NET 2005 أو ADO.NET للاتصال بقاعدة بيانات وتشغيل أمر.

متطلبات

توضح القائمة التالية الأجهزة الموصى بها برامج البنية الأساسية للشبكة وحزم الخدمات التي تحتاجها:
  • Microsoft Windows Server 2003 أو Windows 2000 Server أو نظام التشغيل Microsoft Windows 2000 Professional، Windows 2000 متقدم خادم أو خادم Microsoft Windows NT 4.0
  • Microsoft Visual Studio 2005 أو Microsoft Visual Studio. net
تفترض هذه المقالة أنك معتاد على المواضيع التالية:
  • قاعدة بيانات المصطلحات
  • لغة الاستعلام الهيكلية (SQL)

كيفية تشغيل أمر

يتم إصدار الأوامر ضد قواعد البيانات لاتخاذ إجراءات ضد مخازن البيانات ولتضمين أي بيان يمكن إصدار مقابل قاعدة بيانات. يمكنك استخدام فئات SqlCommand أو OleDbCommand للحصول على أمر لمخزن البيانات الخاص بك، ويمكن أن يكون OleDbCommand الخاصة بمخزن البيانات. توضح هذه المقالة الفئة SqlClient (للاتصال بجهاز كمبيوتر يقوم بتشغيل Microsoft SQL Server) وفئة OleDb (لأي قاعدة بيانات تحتوي على برنامج OLE DB أو ODBC متوفرة) داخل ADO.NET. التعليمات البرمجية غير عموما نفسه على حد سواء.

باستخدام ADO، يمكن إصدار الأوامر إلى الأمرأو الاتصالأو كائن مجموعة السجلات . ADO.NET, فقط الأمر الكائنات (SqlCommand أو OleDbCommand) تشغيل الأوامر.

لتنفيذ أمر، اتبع هذه الخطوات:
  1. اتبع الخطوات لإنشاء تطبيق وحدة تحكم جديد في Microsoft Visual C# 2005 أو في Microsoft Visual C#.NET التالية:
    1. بدء تشغيل Microsoft Visual Studio 2005 أو Microsoft Visual Studio. NET.
    2. من القائمة ملف، أشر إلى جديد ثم انقر فوق المشروع.
    3. في مربع الحوار مشروع جديد ، انقر فوق مشاريع Visual C# ضمن أنواع المشاريع، ومن ثم انقر فوق تطبيق وحدة التحكم ضمن قوالب.

      ملاحظة: في Visual Studio 2005، انقر فوق Visual C# ضمن أنواع المشروع في مربع حوار مشروع جديد ، ومن ثم انقر فوق تطبيق وحدة التحكم ضمن قوالب.
  2. تأكد من أن المشروع يحتوي على مرجع إلى مساحة الاسم System.Data وإضافة مرجع إذا لم يكن كذلك.
  3. استخدام عبارة using على مساحات و نظام System.Data حيث لم تكن لتأهيل التعريفات بمساحات لاحقاً في التعليمات البرمجية الخاصة بك. يمكنك أيضا تضمين System.Data.SqlClient أو System.Data.OleDb، استناداً إلى ذلك الذي تستخدمه.
    using System;using System.Data;
    using System.Data.SqlClient;

  4. قبل إنشاء اتصال بقاعدة بيانات، يجب أن يكون لديك سلسلة اتصال. سلاسل اتصال تحتوي على كافة المعلومات التي تحتاج لتأسيس اتصال قاعدة بيانات، بما في ذلك اسم الملقم واسم قاعدة البيانات، ومعرف المستخدم وكلمة المرور. على سبيل المثال، تقوم سلسلة الاتصال التالية تشير إلى كمبيوتر الذي يقوم بتشغيل SQL Server:

    لاتصالات OleDb:

    ملاحظة: معرف المستخدم رمز < المستخدم > يجب أن يكون لديك الأذونات المناسبة لتنفيذ هذه العمليات على قاعدة البيانات.
    Provider=SQLOLEDB.1;User ID=<UID>;Initial Catalog=pubs;Data Source=(local)
    للاتصالات SqlClient:
    User ID=<UID>;Initial Catalog=pubs;Data Source=(local)
    ملاحظة: إذا كنت تحتاج إلى مزيد من المساعدة تحديد سلسلة الاتصال لقاعدة البيانات الخاص بك، ابحث عن "سلسلة _ اتصال" في مكتبة شبكة مطوري Microsoft (MSDN):
  5. Visual Studio بإنشاء فئة ثابتة وإجراء main () فارغ. قم بتعريف متغير سلسلة، وتخزين سلسلة الاتصال المناسب لقاعدة البيانات الخاصة بك في هذا الإجراء.

    ملاحظة: معرف المستخدم رمز < المستخدم > يجب أن يكون لديك الأذونات المناسبة لتنفيذ هذه العمليات على قاعدة البيانات.
    class Class1{
    static void Main(string[] args)
    {
    string sConnectionString =
    "User ID=<UID>;Initial Catalog=pubs;Data Source=(local)";
    }
    }

  6. استخدام سلسلة الاتصال هذه، إنشاء كائن OleDbConnection أو SqlConnection ثم استدعاء الأسلوب الخاص بها مفتوحة لتأسيس اتصال بقاعدة البيانات:
    SqlConnection objConn = new SqlConnection(sConnectionString);objConn.Open();

  7. إنشاء كائن SqlCommand أو OleDbCommand ، ثم تمرير في الأمر الذي تريد تشغيله وكائن الاتصال الذي قمت بإنشائه في الخطوة السابقة. تمرير نموذج التعليمات البرمجية التالية في العبارة INSERT:
    string sSQL = "INSERT INTO Employee " +   "(emp_id, fname, minit, lname, job_id, job_lvl, pub_id, hire_date) " + 
    "VALUES ('MSD12923F', 'Duncan', 'W', 'Mackenzie', 10, 82,'0877','2001-01-01')";
    SqlCommand objCmd = new SqlCommand(sSQL,objConn);

  8. بعد إنشاء كائن SqlCommand أو OleDbCommand ، يمكنك استدعاء الأسلوب ExecuteNonQuery لتشغيل الأمر الذي يمثله. تم تصميم ExecuteNonQuery للأوامر التي تقوم بإرجاع أية نتائج (مثل عبارات إدراج وتحديث وحذف). إذا كان تشغيل العبارة دون طرح استثناء (راجع التعليمات البرمجية التالية)، تم تنفيذ الأمر بنجاح من قاعدة البيانات.
    objCmd.ExecuteNonQuery();
  9. حفظ المشروع الخاص بك. من القائمة تصحيح ، انقر فوق بدء تشغيل الأمر على قاعدة البيانات.

كيفية استخدام المعلمات

عندما تقوم بتشغيل الأوامر مقابل قاعدة بيانات (مثل التحديث، الإدراج والحذف البيانات أو اتصالات مع الإجراءات المخزنة)، كثيرا ما تكون ذات معلمات هذه الأوامر. يسمح هذا الأمر لإنشاء مرة واحدة ولكن تنفيذ عدة مرات باستخدام قيم مختلفة يتم إدراج بدلاً من المعلمات. خذ بعين الاعتبار عبارة DELETE المقابل لعبارة INSERT المستخدمة في المقطع السابق:
string sSQL = "DELETE FROM Employee WHERE emp_id = @emp_id"
يمثل اسم المعلمة ("@emp_id") في هذا البيان حذف معلمة يمكن استبدالها بقيم مختلفة في كل مرة تقوم بتشغيل الأمر.

استخدام معلمات مع الأمر، اتبع الخطوات التالية:
  1. إنشاء كائن OleDbConnection أو SqlConnection ، كما فعلت في قسم "كيفية تشغيل أمر".
  2. استبدال قيم عناصر نائبة (على سبيل المثال، "@emp_id" أو "@fname") حيث يستخدم النص الأمر المعلمات. راجع عبارة DELETE قبل هذه الخطوات على سبيل مثال.
  3. إنشاء كائن SqlCommand أو OleDbCommand الخاص بك، ثم تمرير في كائن الاتصال الذي قمت بإنشائه في الخطوة الأولى، ونص الأمر الذي يحتوي على عناصر نائبة المعلمة.
  4. لكل معلمة، إضافة كائن معلمة إلى مجموعة المعلمات لكائن الأمر. يجب تحديد اسم ونوع بيانات لكل معلمة.
    objCmd.Parameters.Add("@emp_id", SqlDbType.Char, 9);
  5. أن الإجراءات المخزنة معلمات إرجاع قيم معلمات الإخراج. يمكنك أيضا تعيين قيمة لكل معلمة إدخال قبل تشغيل الاستعلام:
    objCmd.Parameters["@emp_id"].Value = "MSD12923F";
  6. قم بتشغيل الاستعلام كما يلي:
    try {
    objCmd.ExecuteNonQuery();
    }
    catch (System.Exception e)
    {
    Console.WriteLine(e.Message);
    }
    Console.WriteLine("Record Deleted");

إتمام سرد التعليمات البرمجية

ملاحظة: يجب تغيير "معرف المستخدم" = رمز < المستخدم > إلى القيم الصحيحة قبل تشغيل هذه التعليمات البرمجية. تأكد من رمز < المستخدم > الأذونات المناسبة لإنجاز هذه العملية على قاعدة البيانات.
using System;using System.Data;
using System.Data.SqlClient;

/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
static void Main(string[] args)
{
AddRecord();
RemoveRecord();
Pause();
}

static void Pause()
{
Console.WriteLine("Press Enter To Continue....");
Console.ReadLine();
}

static void AddRecord()
{
string sConnectionString = "User ID=<UID>;Initial Catalog=pubs;Data Source=(local)";
SqlConnection objConn = new SqlConnection(sConnectionString);
objConn.Open();
string sSQL = "INSERT INTO Employee " +
"(emp_id, fname, minit, lname, job_id, job_lvl, pub_id, hire_date) " +
"VALUES ('MSD12923F', 'Duncan', 'W', 'Mackenzie', 10, 82,'0877','2001-01-01')";
SqlCommand objCmd = new SqlCommand(sSQL,objConn);
try
{
objCmd.ExecuteNonQuery();
}
catch (System.Exception e)
{
Console.WriteLine(e.Message);
}
Console.WriteLine("Record Added");
}

static void RemoveRecord()
{
string sConnectionString = "User ID=<UID>;Initial Catalog=pubs;Data Source=(local)";
SqlConnection objConn = new SqlConnection(sConnectionString);
objConn.Open();
string sSQL = "DELETE FROM Employee WHERE emp_id = @emp_id";
SqlCommand objCmd = new SqlCommand(sSQL,objConn);
objCmd.Parameters.Add("@emp_id", SqlDbType.Char, 9);
objCmd.Parameters["@emp_id"].Value = "MSD12923F";
try
{
objCmd.ExecuteNonQuery();
}
catch (System.Exception e)
{
Console.WriteLine(e.Message);
}
Console.WriteLine("Record Deleted");
}
}

المراجع

لمزيد من المعلومات حول كيفية استخدام ADO.NET وأوامر قاعدة البيانات والإجراءات المخزنة، قم بزيارة مواقع Microsoft التالية على الويب:
SQL Server 2000 تخزين الإجراءات
http://msdn2.microsoft.com/en-us/library/aa214299(SQL.80).aspx

"الغوص في" الوصول إلى البيانات "،" عمود أصوات MSDN
http://msdn2.microsoft.com/en-us/library/ms810295.aspx

ADO.NET للمبرمج ADO
http://msdn2.microsoft.com/en-us/library/ms973217.aspx

مركز مطوري MSDN على إنترنت.NET
http://msdn.microsoft.com/net
لمزيد من المعلومات، راجع الكتاب التالي:
شارب، وجون جون جاغر. Microsoft Visual C#.NET خطوة بخطوة. Microsoft Press، 2003.
لمزيد من المعلومات، راجع الدورة التدريبية التالية Microsoft التدريب والتأهيل:
خصائص

رقم الموضوع: 306636 - آخر مراجعة: 18‏/01‏/2017 - المراجعة: 1

تعليقات