أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

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

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

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

تشير هذه المقالة إلى مكتبة فئات Microsoft. net Framework مساحات الأسماء التالية:
  • System.Data
  • System.Data.SqlClient
الموجز
هذه المقالة خطوة بخطوة كيفية استخدام ADO.NET 2005 أو ADO.NET للاتصال بقاعدة بيانات وتشغيل أمر.

متطلبات

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

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

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

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

لتنفيذ أمر، اتبع هذه الخطوات:
  1. اتبع هذه الخطوات لإنشاء إينميكروسوفت تطبيق وحدة تحكم جديد 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. قبل إنشاء اتصال قاعدة بيانات، موسثافي سلسلة اتصال. يحتوي على سلاسل اتصال كافة إينفورماتيونثات أنت تحتاج لتأسيس اتصال قاعدة بيانات، بما في ذلك اسم الملقم واسم قاعدة البيانات، ومعرف المستخدم وكلمة المرور. على سبيل المثال، سلسلة فولووينجكونيكتيون يشير إلى كمبيوتر محلي يشغل SQLServer:

    لاتصالات OleDb:

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

    ملاحظة: معرف المستخدم <UID>يجب أن يكون لديك الأذونات المناسبة للعمليات بيرفورمثيسي في قاعدة البيانات.</UID>
    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" or"@fname") حيث يستخدم النص الأمر المعلمات. راجع ستاتيمينتبيفوري حذف هذه الخطوات على سبيل مثال.
  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");					

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

ملاحظة: يجب تغيير "معرف المستخدم" =<UID> إلى القيم الصحيحة قبل تشغيل هذه التعليمات البرمجية. تأكد من أن <UID>له الأذونات المناسبة لإنجاز هذه العملية على قاعدة البيانات.</UID> </UID>
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 - آخر مراجعة: 01/31/2016 21:15:00 - المراجعة: 5.0

  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2005
  • kbhowtomaster kbsqlclient kbsystemdata kbmt KB306636 KbMtar
تعليقات
>