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

HOW TO: إنشاء واستخدامها DataSet مصنف باستخدام Visual C# .NET

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

اضغط هنا لرابط المقالة باللغة الانجليزية320714
للحصول على إصدار Microsoft Visual Basic .NET من هذه المقالة، راجع 315678.

في هذه المهمة

الموجز
يوضح هذا المقال كيفية إنشاء مصنف DataSet واستخدامها في تطبيق ويب صغير. كتابة وحدات DataSet التي ترث من فئة DataSet إنشاء first-class أعضاء DataTablesDataSet الخاصة و DataColumns ، التسلم العديد من الفوائد التي تأتي مع استخدام كتابة قوية.

back to the top

متطلبات

العناصر التالية تصف الأجهزة الموصى بها و برنامج ، البنية الأساسية للشبكة ، المهارات و معرفة و حزم الخدمة الذي يجب عليك إكمال الخطوات التالية:
  • Microsoft SQL Server 6.5 (أو أحدث) مع قاعدة بيانات Northwind
السابقة المهارات المطلوبة:
  • بأزرار العامة مع Microsoft SQL Server
  • بأزرار العامة مع Microsoft Visual Studio .NET
  • بأزرار العامة مع Microsoft ADO.NET
  • بأزرار العامة مع "عناصر ويب" Microsoft .NET
back to the top

وحدات DataSet المكتوبة

اتبع الخطوات التالية لإنشاء تطبيق ويب صغير باستخدام Visual Studio .NET. يستخدم تطبيق ويب مكتوبة DataSet لعرض نتائج استعلام SQL improvised في قاعدة بيانات Northwind.
  1. بدء تشغيل Visual Studio .NET.
  2. إنشاء مشروع "تطبيق ويب" جديد يسمى TDS في Visual C# .NET.
  3. تأكد من عرض "مستكشف الحلول". إذا لم يتم عرض "مستكشف الحلول" اضغط CTRL + ALT + L.
  4. تأكد من أن الملف WebForm1.aspx مفتوحة في إطار محرر. إذا لم يكن الملف مفتوحاً، انقر نقراً مزدوجاً فوق WebForm1.aspx في "مستكشف الحلول" لفتح الملف.
  5. ضمن إطار "محرر" ، انقر فوق تصميم للتبديل إلى طريقة العرض "تصميم".
  6. لفتح "مربع الأدوات" ، اضغط CTRL + ALT + X. في مربع الأدوات، انقر فوق نماذج ويب. حدد واسحب التالية إلى الركن الأيمن العلوي من الصفحة: اثنين الصفوف كل تسمية متبوعاً مربع نص (وضع إلى يمين كل تسمية). ضمن هذه ، قم بإضافة DataGrid بنفس الطريقة.
  7. انقر فوق تسمية العلوي. اضغط F4 لعرض الإطار "خصائص". تغيير الخاصية Text إلى المنتج. انقر فوق تسمية أخرى ثم قم بتغيير الخاصية Text على الفئة.
  8. لإضافة جديد DataSet إلى المشروع اضغط CTRL + SHIFT + A ثم انقر فوق DataSet في قائمة قوالب. اسم DataSet التالية: dsProducts.xsd. لاحظ أن الملف موجود بالفعل مخطط XML. انقر فوق موافق. راجع صفحة أصفر باهت في إطار محرر الآن.
  9. لإنشاء مكتوب DataSet اضغط CTRL + ALT + S لفتح "مستكشف الملقم".
  10. انقر فوق الخوادم انقر فوق computer name, انقر فوق SQLServers ، انقر فوق server name, انقر فوق Northwind و ثم انقر فوق طرق العرض.
  11. حدد طريقة العرض "Northwind SQL Server" قائمة المنتجات المرتبة هجائياً ومن ثم اسحب طريقة العرض إلى الصفحة DataSet أصفر باهت. يظهر تمثيل مرئي من مجموعة النتائج التي يتم إنشاؤها بواسطة طريقة العرض على الصفحة. لمشاهدة XML الفعلي لملف المخطط انقر فوق الزر XML ضمن إطار محرر.
  12. يوجد مخطط استناداً إلى كائن SQL Server الآن. إلى إنشاء وتعبئة مكتوب DataSet أولاً عليك إنشاء فئة مخططات إلى المخطط. انقر بزر الماوس الأيمن فوق طريقة العرض "تصميم" وتأكد من تحديد الخيار إنشاء DataSet. إذا لم يتم تحديدها تحديدها. اضغط CTRL + S لحفظ المخطط ثم إنشاء الفئة.
  13. لعرض الفئة DataSet مكتوب الجديدة انقر فوق إظهار كافة الملفات في "مستكشف الحلول".
  14. قم بتوسيع شجرة بجانب dsProducts.xsd. راجع ملف dsProducts.vb يحتوي تعيين فئة جديدة إلى المخطط. راجع أيضاً ملف dsProducts.xsx يتم استخدام تعقب التغييرات إلى الملفات.
  15. لكتابة تعليمات برمجية لعرض مكتوب DataSet انقر نقراً مزدوجاً فوق مباشرة على "نموذج ويب" (وليس على عنصر تحكم ويب). يظهر "نموذج ويب" codebehind ويكون نقطة الإدراج داخل الحدث Page_Load.
  16. لتضمين الفئات الموجودة في مساحة الاسم System.Data.SqlClient إضافة العبارة باستخدام التالية في أعلى codebehind:
    using System.Data.SqlClient;					
    ملاحظة: مساحات أخرى تحتاج إلى الحصول لتطبيق ويب هذا صغير يتم الرجوع تلقائياً إليها في المشروع عند إنشاء تطبيق ويب في Visual Studio .NET.

  17. في إجراء الحدث Page_Load إنشاء كائن اتصال بواسطة تمرير سلسلة الاتصال إلى مُنشئ افتراضي الفئة SqlConnection:
    SqlConnection cn = new SqlConnection("server=myserver;uid=myuid;pwd=mypassword;database=northwind");					
  18. إنشاء كائن SqlCommand ثم يتم تمريره إلى كائن SqlDataAdapter. تمرير عبارة SQL improvised و كائن اتصال جديد إلى مُنشئ SqlCommand. الأول يقوم بتعيين خاصية CommandText كائن SqlCommand جديد. يمكنك أيضاً تمرير اسم إجراء مخزن.
    SqlCommand cmd = new SqlCommand("select * from [Alphabetical list of products]", cn);					
  19. إنشاء مثيل من الكائن SqlDataAdapter تمرير كائن SqlCommand الجديد مُنشئ:
    SqlDataAdapter da = new SqlDataAdapter(cmd);					
  20. الآن إنشاء الكائنات المطلوبة الاتصال بقاعدة البيانات والعودة. التالي هو رمز مكتوب DataSet. لاحظ أنه يتم إنشاء مثيل لفئة dsProducts: الفئة التي مخططات dsProducts مخطط ويرث من فئة DataSet غير عام DataSet الفئة نفسها.
    dsProducts tds = new dsProducts();					
  21. استدعاء الأسلوب التعبئة من SqlDataAdapter تمرير في الكائن DataSet مكتوب وقمت بكتابة DataSet الخاصة الخاصية DataTable TableName:
    da.Fill(tds, tds.Tables[0].TableName);					
  22. لتعيين عناصر تحكم مربع الخاصية Text النص إلى أعمدة مكتوب بشدة في مكتوب DataSet الخاصة DataTable استخدم التنسيق التالي:
    dsProducts.DataTableName[RowIndex].ColumnName						
    عن هذا التطبيق نموذج RowIndex يتم ترميز - الثابت إلى 5:
    TextBox1.Text = tds.Alphabetical_list_of_products[5].ProductName;TextBox2.Text = tds.Alphabetical_list_of_products[5].CategoryName; 						
    بما مجموعة صفوف يستند ، عند تحميل الصفحة لاحظ أن عناصر تحكم مربعات نص تعرض أسماء الفئات والمنتجات العنصر في الصف السادس DataGrid.
  23. لعرض كافة النتائج في DataGrid تعيين الخاصية DataSource DataGrid إلى مصنف جديد DataSet واستدعاء DataBind():
    DataGrid1.DataSource = tds;DataGrid1.DataBind();					
back to the top

إكمال رمز قائمة (WebForm1.aspx)

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="TDS.WebForm1" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ><HTML><HEAD>	<title>WebForm1</title>	<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">	<meta name="CODE_LANGUAGE" Content="C#">	<meta name="vs_defaultClientScript" content="JavaScript">	<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"></HEAD><body MS_POSITIONING="GridLayout">	<form id="Form1" method="post" runat="server">		<asp:Label id="Label1"  runat="server" >Label</asp:Label>		<asp:DataGrid id="DataGrid1"  runat="server" ></asp:DataGrid>		<asp:TextBox id="TextBox2"  runat="server"></asp:TextBox>		<asp:TextBox id="TextBox1"  runat="server"></asp:TextBox>		<asp:Label id="Label2"  runat="server" >Label</asp:Label>	</form></body></HTML>				
back to the top

إكمال رمز قائمة (WebForm1.aspx.cs)

using System.Data.SqlClient;namespace TDS{  /// <summary>  /// Summary description for WebForm1.  /// </summary>  public class WebForm1 : System.Web.UI.Page  {    protected System.Web.UI.WebControls.Label Label1;    protected System.Web.UI.WebControls.Label Label2;    protected System.Web.UI.WebControls.TextBox TextBox1;    protected System.Web.UI.WebControls.TextBox TextBox2;    protected System.Web.UI.WebControls.DataGrid DataGrid1;	    private void Page_Load(object sender, System.EventArgs e)     {	SqlConnection cn = new SqlConnection("server=localhost;uid=sa;pwd=abcd;database=northwind");	SqlCommand cmd = new SqlCommand("select * from [Alphabetical list of products]", cn);	SqlDataAdapter da = new SqlDataAdapter(cmd);	dsProducts tds = new dsProducts();	da.Fill(tds, tds.Tables[0].TableName);	TextBox1.Text = tds.Alphabetical_list_of_products[5].ProductName;	TextBox2.Text = tds.Alphabetical_list_of_products[5].CategoryName;          DataGrid1.DataSource = tds;	DataGrid1.DataBind();    }    #region Web Form Designer generated code    override protected void OnInit(EventArgs e)    {	// 	// CODEGEN: This call is required by the ASP.NET Web Form Designer.	// 	InitializeComponent();	base.OnInit(e);    }		    /// <summary>    /// Required method for Designer support - do not modify    /// the contents of this method with the code editor.    /// </summary>    private void InitializeComponent()    {    	this.TextBox1.TextChanged += new System.EventHandler(this.TextBox1_TextChanged);	this.Load += new System.EventHandler(this.Page_Load);    }    #endregion  }}				
back to the top

التحقق

اضغط F5 لتشغيل تطبيق ويب. يعرض المستعرض "Uncle هادي عضوي Dried كمثرى" في مربع النص المنتج و "فاكهة" في مربع نص الفئة. يظهر DataGrid فيكون مع معلومات المنتج ضمن مربعات النص.

back to the top

استكشاف الأخطاء وإصلاحها

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

back to the top

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

خصائص

رقم الموضوع: 320714 - آخر مراجعة: 05/17/2007 03:50:48 - المراجعة: 2.3

Microsoft ADO.NET (included with the .NET Framework), Microsoft ADO.NET 1.1, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# .NET 2003 Standard Edition

  • kbmt kbhowtomaster KB320714 KbMtar
تعليقات
>html>>sync=""> var varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write(" >html> ng-repeat="language in languagesListForLargeScreens track by $index" class="col-sm-6 col-xs-24 ng-scope"> Paraguay - Español
Venezuela - Español
id=1&t=">4050&did=1&t=">id=1&t=">