آموزش ASP.Net

آموزش ASP.Net - دسترسی به پایگاه داده

 ASP.NET امکان دسترسی و استفاده از منابع دادۀ زیر را به برنامه نویس می دهد:

  • پایگاه های داده( برای مثال؛ Access، SQL Server، Oracle، MySQL)
  • XML documents
  • Business Objects
  • Flat files


ASP.NET  فرایندهای پیچیده و سنگین دسترسی به داده را پنهان می کند و همچنین سطح بسیار بالاتری از کلاس ها و اشیاء که دسترسی به داده از طریق آن ها بسیار سهل است را ارائه می دهد. این کلاس ها تمامی کدنویسی های پیچیده که برای اتصال به داده، بازیابی داده، پرسمان از داده (data querying  ) و دستکاری داده ها انجام می شود را پنهان می کند.


ADO.NET  یک تکنولوژی است که به مثابۀ یک پل ارتباطی میان اشیاء کنترلی (control object) ASP.NET  و منبع داده (data source) backend عمل می کند. در این فصل به نحوۀ دسترسی به داده و کار با آن به طور مختصر خواهیم پرداخت.


بازیابی و نمایش داده


به منظور بازیابی و نمایش داده در ASP.NET به دو نوع data control احتیاج داریم:

  • data source control (کنترل منبع داده) – اتصال به داده، انتخاب و گزینش داده و دیگر کارها و عملیاتی همچون صفحه بندی (paging) و ذخیره ی داده در حافظه ی پنهان (caching) را مدیریت می کند.
  • data view control (کنترل مقید سازی و نمایش داده) – داده را متصل کرده سپس نمایش می دهد، همچنین امکان دستکاری و مدیریت داده ها را برای برنامه نویس فراهم می آورد.

به مفاهیم مقید سازی و اتصال داده (data binding) و کنترل های منبع داده ای (data source control  ) در بخش های بعدی با جزئیات بیشتر خواهیم پرداخت. در این قسمت، برای دسترسی به داده از یک کنترل SqlDataSource و از کنترل GridView جهت نمایش و مدیریت داده بهره می گیریم.

همچنین از پایگاه دادۀ Access که دربردارندۀ اطلاعاتی دربارۀ کتاب های .NET موجود در بازار است استفاده خواهیم کرد. اسم پایگاه داده ASPDotNetStepByStep.mdb بوده و جدول داده ای (data table  ) که بکار می بریم را DotNetReferences نام گذاری کرده ایم.

جدول مورد نظر دارای ستون های زیر خواهد بود:

ID، Title، AuthorFirstName، AuthorLastName، Topic و Publishe.


ذیل تصویری از جدول داده ای مذکور مشاهده می کنید:

data table

اکنون مراحل زیر را طی می کنیم:

  1. یک وب فرم ایجاد کرده، سپس کنترل SqlDataSourceControl را به آن اضافه کنید.

 sql data source control

  1. روی گزینۀ Configure Data Source کلیک کنید.

configure data source

  1. حال روی دکمۀ New Connection کلیک کرده تا اتصال با یک پایگاه داده برقرار گردد.

connection with database

  1. پس از اینکه اتصال با پایگاه داده برقرار شد، آن را برای استفاده در آینده ذخیره کنید. در مرحلۀ بعدی از شما خواسته می شود دستور Select را پیکربندی (config) کنید:

select statement

  1. اکنون ستون ها را انتخاب کرده و دکمۀ next را فشار دهید تا مراحل به پایان برسد. به دکمه های WHERE، ORDER BY، Advanced دقت کنید. دکمه های نام برده به شما امکان ارائۀ عبارت های (clause) Where، Orderby و همچنین تعریف دستورات (command) insert، update و delete اس کیو ال را به ترتیب فراهم می کند. از این طریق شما قادر خواهید بود داده ها را مدیریت یا دستکاری کنید.
  1. کنترل GridView را به فرم اضافه کنید. منبع داده ای مورد نظر را انتخاب کرده و با استفاده از گزینه ی AutoFormat کنترل را قالب بندی (فرمت) کنید.

auto format

  1. پس از انجام این کار، کنترل GridView قالب بندی شده عنوان های ستون ها را نمایش می دهد. اکنون برنامه آماده ی اجرا است.

gridview control

  1. برنامه را اجرا کنید.

databasse result

کد  Content file:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="dataaccess.aspx.cs" 
   Inherits="datacaching.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

   <head runat="server">
      <title>
         Untitled Page
      </title>
   </head>
   
   <body>
      <form id="form1" runat="server">
         <div>
         
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
               ConnectionString= "<%$   ConnectionStrings:ASPDotNetStepByStepConnectionString%>" 
               ProviderName= "<%$ ConnectionStrings:
                  ASPDotNetStepByStepConnectionString.ProviderName %>" 
               SelectCommand="SELECT [Title], [AuthorLastName], 
                  [AuthorFirstName], [Topic] FROM [DotNetReferences]">
            </asp:SqlDataSource>
            
            <asp:GridView ID="GridView1" runat="server" 
               AutoGenerateColumns="False" CellPadding="4" 
               DataSourceID="SqlDataSource1" ForeColor="#333333" 
               GridLines="None">
               <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            
               <Columns>
                  <asp:BoundField DataField="Title" HeaderText="Title" 
                     SortExpression="Title" />
                  <asp:BoundField DataField="AuthorLastName" 
                     HeaderText="AuthorLastName" SortExpression="AuthorLastName" />
                  <asp:BoundField DataField="AuthorFirstName" 
                     HeaderText="AuthorFirstName" SortExpression="AuthorFirstName" />
                  <asp:BoundField DataField="Topic" 
                     HeaderText="Topic" SortExpression="Topic" />
               </Columns>
               <FooterStyle BackColor="#5D7B9D" 
                  Font-Bold="True" ForeColor="White" />
               <PagerStyle BackColor="#284775" 
                  ForeColor="White" HorizontalAlign="Center" />
               <SelectedRowStyle BackColor="#E2DED6" 
                  Font-Bold="True" ForeColor="#333333" />
               <HeaderStyle BackColor="#5D7B9D" Font-Bold="True"  
                  ForeColor="White" />
               <EditRowStyle BackColor="#999999" />
               <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
            </asp:GridView>
         </div>
      </form>
   </body>
</html>
در صورتی که سوال و یا نظری دارید، از بخش نظرات با ما در میان بگذارید.

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

شما چه نظر و یا سوالی درباره این نوشته دارید؟

مبحث آموزشی

آموزش ASP.Net

Learn ASP.Net

سرفصل ها

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

کلیک کنید و سوالات خود را از ما بپرسید
لطفا فرم سوال را پر کنید

سوال شما با موفقیت ثبت شد. برای اینکه بتوانیم به شما اطلاع رسانی کنیم، موارد زیر را وارد کنید:

لطفا چند لحظه منتظر بمانید ...