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

كيفية استرداد مخطط العمود باستخدام أسلوب جيتشيماتابل DataReader و Visual C#.NET

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

اضغط هنا لرابط المقالة باللغة الانجليزية310107
ل Microsoft Visual Basic.NET إصدار من هذا المقالات، راجع 310108.
ل Microsoft Visual c + + .NET نسخة من هذه المقالة، راجع 309683.

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

في هذه المهمة

الموجز
توضح هذه المقالة كيفية استخدام الأسلوب جيتشيماتابل للكائن DataReader في ADO.NET لاسترداد معلومات المخطط العمود. آخر هو اسم لمخطط عمود خصائص حقوله. معلومات المخطط العمود تتضمن المعلومات التالية حول العمود:
  • اسم
  • نوع البيانات
  • حجم
  • ما إذا كان العمود حقل مفتاح الأساسي
  • ما إذا كان العمود "ترقيم تلقائي" (الزيادة التلقائية) حقل
الأسلوب جيتشيماتابل بإرجاع خاصية DataTable الذي يحتوي على مخطط العمود ل DataReader. يحتوي DataTable على صف واحد لكل حقل في مجموعة نتائج. كل عمود مخططات إلى خاصية الحقل في مجموعة نتائج. الخاصية ColumnName العمود DataTable هو اسم الخاصية للحقل، مثل الخاصية ColumnNameنوع البياناتكولومنسيزيأو إيسكييكولومنأو إيسوتوينكريمينت . قيمة العمود DataTable القيمة للخاصية للحقل، مثل قيمة الاسم الأول لخاصية ColumnName .
ملاحظة للحصول على معلومات المفتاح الأساسي، بما في ذلك ما إذا كان حقل جزء من المفتاح الأساسي وما إذا كان حقل الزيادة التلقائية ، يجب تعيين قيمة كوماندبيهافيورDataReader إلى CommandBehavior.KeyInfo.

يمكنك استخدام الأسلوب جيتشيماتابل مع أي OLE DB.موفر الشبكة "أو" SQL ".NET موفر. تعيين أسلوب OleDbDataReader.GetSchemaTable للأسلوب OLE DB IColumnsRowset::GetColumnsRowset . لا يستخدم الأسلوب SqlDataReader.GetSchemaTable على طبقة موفر OLE DB.

الملاحظة، إلا إذا كنت تستخدم صراحة أسلوب جيتشيماتابل ، لا يرجع DataReader مخطط العمود. أيضا، إذا كنت تستخدم جيتشيماتابل لاسترداد مخطط العمود، لا يمكن تحديث DataReader. يسترد DataReader دائماً دفق بيانات من القراءة فقط أو للأمام فقط قاعدة البيانات.

back to the top

عند استخدام الأسلوب جيتشيماتابل

  • لا يعتمد الكائن SqlConnection استرداد معلومات المخطط SQL Server في أسلوب مماثل للأسلوب جيتوليدبشيماتابل للكائن OleDbConnection . الأسلوب جيتشيماتابل من الفئة سقلداتاريدير توفر طريقة مباشرة للحصول على مخطط العمود معلومات من SQL Server.
  • على الرغم من أنه يمكنك إرجاع الأسلوب جيتوليدبشيماتابل للكائن OleDbConnection معلومات مخطط العمود، والجدول أو قاعدة البيانات قد تجد أن الأسلوب جيتشيماتابل للكائن DataReader أسهل في الاستخدام عند الرغبة في استرداد عمود فقط معلومات المخطط.
  • يمكنك استخدام الأسلوب جيتشيماتابل لإنشاء جديد DataTable استناداً إلى مخطط لخاصية موجودة DataTable أثناء تخصيص أسماء الأعمدة وغيرها سمات العمود. للحصول على نموذج التعليمات البرمجية الذي يوضح كيفية استخدام جيتشيماتابل لتعريف جدول جديد، راجع "Visual Studio العينات: فيتش و 7.0 مآثر تشغيل استعلام SQL "موضوع في Microsoft Visual Studio.NET على الإنترنت وثائق تعليمات.
back to the top

استرداد مخطط العمود مع OLE DB.موفر شبكة

يسرد هذا النموذج معلومات المخطط للأعمدة (حقل خصائص) من جدول "الموظفين" في Northwind ملقم SQL قاعدة البيانات.

لاحظ أنه عند استخدام OLE DB.موفر شبكة، يمكنك استخدام الأسلوب جيتشيماتابل للكائن أوليدبداتاريدير .
  1. بدء تشغيل برنامج Visual Studio.NET، ثم قم بإنشاء جديد Visual C# مشروع تطبيق وحدة التحكم. يتم إنشاء Class1.cs بشكل افتراضي.
  2. فتح إطار التعليمات البرمجية ل Class1. لصق التعليمة البرمجية التالية في الجزء العلوي من إطار التعليمات البرمجية أعلاه تعريف مساحة الاسم :
    using System.Data;using System.Data.OleDb;					
  3. في الإطار "تعليمات برمجية"، قم بلصق التعليمة البرمجية التالية في الدالة Main :
    OleDbConnection cn = new OleDbConnection();OleDbCommand cmd = new OleDbCommand();DataTable schemaTable; OleDbDataReader myReader; 			 //Open a connection to the SQL Server Northwind database.cn.ConnectionString = "Provider=SQLOLEDB;Data Source=server;User ID=login;                       Password=password;Initial Catalog=Northwind";cn.Open();//Retrieve records from the Employees table into a DataReader.cmd.Connection = cn;cmd.CommandText = "SELECT * FROM Employees";myReader = cmd.ExecuteReader(CommandBehavior.KeyInfo); //Retrieve column schema into a DataTable.schemaTable = myReader.GetSchemaTable();//For each field in the table...foreach (DataRow myField in schemaTable.Rows){    //For each property of the field...    foreach (DataColumn myProperty in schemaTable.Columns) {	//Display the field name and value.	Console.WriteLine(myProperty.ColumnName + " = " + myField[myProperty].ToString());    }    Console.WriteLine();    //Pause.    Console.ReadLine();}//Always close the DataReader and connection.myReader.Close();cn.Close();					
  4. تعديل معلمات الخاصية سلسلة _ الاتصال الاتصال بملقم SQL بشكل صحيح جهاز الكمبيوتر.
  5. اضغط المفتاح F5 إلى ترجمة وإلى تشغيل المشروع. إشعار أن خصائص كل حقل مذكورة في إطار وحدة التحكم.
  6. اضغط على ENTER للتمرير خلال القائمة، وإنهاء وحدة التحكم التطبيق والرجوع إلى "بيئة التطوير المتكاملة" (IDE).
back to the top

استرداد مخطط العمود باستخدام SQL.موفر شبكة

يسرد هذا النموذج معلومات المخطط للأعمدة (حقل خصائص) من جدول "الموظفين" في Northwind ملقم SQL قاعدة البيانات.

لاحظ أنه عند استخدام SQL.موفر شبكة، يمكنك استخدام الأسلوب جيتشيماتابل للكائن سقلداتاريدير .
  1. بدء تشغيل برنامج Visual Studio.NET، وإنشاء جديد Visual C# مشروع تطبيق وحدة التحكم. يتم إنشاء Class1.cs بشكل افتراضي.
  2. فتح إطار التعليمات البرمجية ل Class1. لصق التعليمة البرمجية التالية في الجزء العلوي من إطار التعليمات البرمجية أعلاه تعريف مساحة الاسم :
    using System.Data;using System.Data.SqlClient;					
  3. في الإطار "تعليمات برمجية"، قم بلصق التعليمة البرمجية التالية في الدالة Main :
    SqlConnection cn = new SqlConnection();SqlCommand cmd = new SqlCommand();DataTable schemaTable; SqlDataReader myReader; 			 //Open a connection to the SQL Server Northwind database.cn.ConnectionString = "Data Source=server;User ID=login;                       Password=password;Initial Catalog=Northwind";cn.Open();//Retrieve records from the Employees table into a DataReader.cmd.Connection = cn;cmd.CommandText = "SELECT * FROM Employees";myReader = cmd.ExecuteReader(CommandBehavior.KeyInfo);//Retrieve column schema into a DataTable.schemaTable = myReader.GetSchemaTable();//For each field in the table...foreach (DataRow myField in schemaTable.Rows){    //For each property of the field...    foreach (DataColumn myProperty in schemaTable.Columns) {	//Display the field name and value.	Console.WriteLine(myProperty.ColumnName + " = " + myField[myProperty].ToString());    }    Console.WriteLine();    //Pause.    Console.ReadLine();}//Always close the DataReader and connection.myReader.Close();cn.Close();					
  4. تعديل معلمات الخاصية سلسلة _ الاتصال الاتصال بملقم SQL بشكل صحيح جهاز الكمبيوتر.
  5. اضغط F5 إلى ترجمة وإلى تشغيل المشروع. لاحظ أنه يتم سرد خصائص كل حقل في إطار وحدة التحكم.
  6. اضغط على ENTER للتمرير خلال القائمة، وإنهاء وحدة التحكم التطبيق، والعودة إلى IDE.
back to the top
مراجع
لمزيد من المعلومات حول DataReader وأسلوب جيتشيماتابل ، راجع المواضيع التالية في Visual Studio.NET على الإنترنت وثائق تعليمات:
استرداد البيانات باستخدام DataReader

أسلوب IDataReader.GetSchemaTable

ملاحظة: هذا الموضوع يحتوي على قائمة كاملة من الأعمدة الموجودة في التي تم إرجاعها DataTable.

أسلوب OleDbDataReader.GetSchemaTable

أسلوب SqlDataReader.GetSchemaTable
للحصول على معلومات إضافية حول استخدام الأسلوب جيتوليدبشيماتابل للكائن OleDbConnection استرداد معلومات المخطط، انقر فوق رقم المقالة أدناه لعرضها في "قاعدة المعارف ل Microsoft":
309681 كيفية استرداد معلومات المخطط باستخدام جيتوليدبشيماتابل و Visual C#.NET
back to the top

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 310107 - آخر مراجعة: 06/12/2012 06:09:00 - المراجعة: 1.0

Microsoft ADO.NET 1.1, Microsoft Visual C# .NET 2003 Standard Edition, Microsoft Visual C# .NET 2002 Standard Edition

  • kbdatabase kbhowtomaster kbsqlclient kbsystemdata kbmt KB310107 KbMtar
تعليقات
html>>me("head")[0].appendChild(m); /html>=">