ایجاد Strongly Typed Dataset در ASP.Net

پنجشنبه 4 تیر 1394

در این مقاله به بررسی نحوه ایجاد strongly typed Dataset که حاوی اطلاعاتی از جداول در پایگاه داده SQL Server است می پردازیم.

ایجاد Strongly Typed Dataset در ASP.Net

هدف اصلی در این مقاله، فعال نمودن منوی Intellisense در dataset و عدم وجود خطا در هنگام نوشتن نام ستون ها و نام جداول از پایگاه داده و نمایش اطلاعات در کنترل GridView است.

ایجاد پایگاه داده SQL Server و جداول مورد نیاز:

کدهای زیر جدول مورد نیاز ما را ایجاد میکند.

    CREATE TABLE [dbo].[Employee] (  
       [Emp_ID] INT IDENTITY (1, 1) NOT NULL,  
       [Name] NVARCHAR (40) NULL,  
       [Designation] NVARCHAR (100) NULL,  
       [Salary] INT NULL,  
       PRIMARY KEY CLUSTERED ([Emp_ID] ASC)  
    );  

مرحله 1:

در ابتدای کار یک پروژه تحت وب ایجاد کنید. و یک webform به آن اضافه کنید و آن را Demo.aspx بنامید و یک کنترل GridView به صفحه موردنظر اضافه کنید. فیلدهای سربرگ را می توانید به دلخواه خود تغییر دهید.

مرحله 2:

در منوی Solution Explorer  گزینه Add New Item را بزنید و یک dataset انتخاب کنید و آن را Employee.xsd بنامید.

مرحله 3:

به منوی View رفته و Server Explorer را انتخاب کنید. در پنجره ایجاد شده، پایگاه داده ای که ایجاد کردیم را به برنامه متصل کنید و جدول موردنظر را به صفحه XSD اضافه کنید.

مرحله 4:

به صفحه دستورات Webform رفته و کدهای زیر را اضافه کنید.

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                EmployeeTableAdapters.EmployeeTableAdapter DA = new EmployeeTableAdapters.EmployeeTableAdapter();

                Employee.EmployeeDataTable employeeDataTable = new Employee.EmployeeDataTable();
                DA.Fill(employeeDataTable);

                Session["DATATABLE"] = employeeDataTable;

                GridView1.DataSource = from emp in employeeDataTable select new { emp.Emp_ID, emp.Name, emp.Designation, emp.Salary };
                GridView1.DataBind();
            }

        }

شرح دستورات بالا:

1- اگر این دستورات یک درخواست از صفحه و یا به صورت ساده تر اگر این ها یک درخواست Postback نیستند، پس compiler کدها را اجرا خواهد کرد.

2- زمانی که ما یک جدول به dataset اضافه می کنیم (مانند مرحله 3) کلاس ها براساس ستون ها موجود در جدول، به صورت اتوماتیک ایجاد می شوند.

3- بنابراین، در اینجا EmployeeTableAdapter یک کلاس ایجاد شده بوسیله dataset گفته شده در مرحله 3 است و ما یک نمونه از آن را که DA نام داشت ایجاد کردیم.

4- حال، ما نیاز داریم به بازگرداندن آن جدول از DataAdapter داریم، پس ما از نام Dataset  برای نامگذاری DataTable استفاده می کنیم. نگران نباشید، زیرا تمامی کلاس ها به صورت اتوماتیک در Intellisense در Visual Studio موجود است و ما همچنین این نمونه را با نام employeeDataTable ایجاد کرده ایم.

5- ما فیلدهای DataTable را با استفاده از DataAdapter همانند کاری که در پروژه های ساده ADO.NET انجام می دهیم پر کردیم.

6- DataTable را در Session Variable ذخیره کردیم.

7- حال از تعدادی کدهای LINQ برای استخراج اطلاعات از DataTable استفاده می کنیم.

8- emp یک متغیر جدید است که برای استخراج خصوصیات DataTable مورد استفاده قرار می گیرد. زمانی که ما نام این متغیر را می نویسم و (.) را می زنیم، ستون به صورت اتوماتیک نامگذاری می شود. این قسمت هدف ما بود.

9- در پایان ما داده های استخراج شده را به GridView منتقل می کنیم.

10- تمام تغییرات را ذخیره می کنیم.

مرحله 5:

دکمه F5 را بزنید و خروجی برنامه را مشاهده کنید. می بینید که بدون هیچ اشتباهی به راحتی با استفاده از Strongly Typed Dataset داده ها را استخراج کردیم.

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید