مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش ADO.NET در ASP.NET به همراه مثال ای کاربردی


ADO.NET

ADO.NET پلی را بین کنترل های front end و پایگاه داده back end فراهم می سازد. اشیاء ADO.NET ، تمام عملیات های دسترسی به داده ها را کپسوله نموده و  کنترل ها با این اشیاء جهت نمایش داده ها تعامل برقرار می کنند. از این رو ، جزئیات انتقال داده ها پنهان باقی می مانند.

شکل زیر در یک نگاه ، اشیاء ADO.NET را نشان می دهد:

کلاس DataSet

DataSet یک زیر مجموعه از پایگاه داده می باشد. این کلاس  ارتباط مستمری با پایگاه داده ندارد. برای به روز رسانی پایگاه داده نیاز به برقراری مجدد ارتباط می باشد. DataSet حاوی اشیاء DataTable و DataRelation می باشد. اشیاء DataRelation نشان دهنده ارتباط بین دو جدول می باشند.

جدول ذیل برخی از خصیصه های مهم از کلاس DataSet را نشان می دهد:

خصیصه

توضیحات

CaseSensitive

نشان می دهد که آیا مقایسه های رشته در جدول داده ها حساس به حروف (case-sensitive) هستند یا خیر.

Container

یک شمارنده برای مؤلفه دریافت می کند.

DataSetName

نام مجموعه داده جاری را دریافت کرده یا تنظیم می کند.

DefaultViewManager

یک view از داده را در مجموعه داده باز می گرداند.

DesignMode

نشان می دهد که آیا مؤلفه در حال حاضر در design mode است یا خیر.

EnforceConstraints

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

Events

فهرستی از هندلرهای رویدادهایی را دریافت می کند که به این مؤلفه ضمیمه شده اند .

ExtendedProperties

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

HasErrors

نشان می دهد که آیا خطایی رخ داده است یا خیر.

IsInitialized

نشان می دهد که آیا DataSet مقدار دهی اولیه شده است یا خیر.

Locale

اطلاعات محلی مورد استفاده برای مقایسه رشته ها در جدول را دریافت کرده یا تنظیم می کند.

Namespace

Namespace را از DataSet دریافت کرده یا تنظیم می کند.

Prefix

یک پیشوند XML را دریافت کرده یا تنظیم می کند. این پیشوند namespace را از DataSet به استعاره می گیرد.

Relations

مجموعه ای از اشیاء DataRelation را باز می گرداند.

Tables

مجموعه ای از اشیاء DataTable را باز می گرداند.

جدول ذیل برخی از متدهای مهم از کلاس DataSet را نشان می دهد.

متد

توضیحات

AcceptChanges

تمام تغییرات انجام شده از زمان بارگذاری DataSet یا از زمانی که این متد فراخوانی شده است را می پذیرد.

BeginInit

مقداردهی اولیه DataSet را شروع می کند. مقداردهی اولیه در حالت runtime رخ می دهد.

Clear

داده ها را پاک می کند.

Clone

ساختار DataSet را کپی می کند ، که این ساختار شامل تمام طرح های DataTable ، روابط و محدودیت ها می باشد. هیچ کدام از داده ها کپی نمی شوند.

Copy

هم ساختار و هم داده ها را کپی می کند.

CreateDataReader()

یک DataTableReader را با مجموعه نتیجه به ازای هر DataTable در همان ترتیبی که جدول ها در مجموعه Table ها ظاهر می شوند ، باز می گرداند.

CreateDataReader(DataTable[])

یک DataTableReader را با مجموعه نتیجه به ازای هر DataTable باز می گرداند.

EndInit

مقداردهی اولیه data set را پایان می دهد.

Equals(Object)

تعیین می کند که آیا شیء تعیین شده برابر با شیء جاری است یا خیر.

Finalize

منابع را آزاد کرده و سایر عملیات های پاک سازی را اعمال می کند.

GetChanges

یک کپی از DataSet با تمام تغییرات انجام شده را از زمانی که DataSet بارگذاری شده یا از زمانی که متد AcceptChanges فراخوانی شده است ، باز می گرداند.

GetChanges(DataRowState)

یک کپی از DataSet را با تمام تغییرات انجام شده از زمانی که DataSet بارگذاری شده یا متد AcceptChanges فراخوانی شده است ، دریافت می کند که با DataRowState فیلتر شده است.

GetDataSetSchema

یک کپی از XmlSchemaSet برای DataSet دریافت می کند.

GetObjectData

یک شیء serialization information را با داده های موردنیاز برای سریال کردن DataSet پر می کند.

GetType

نوع نمونه جاری را دریافت می کند.

GetXML

خروجی XML از داده ها را باز می گرداند.

GetXMLSchema

یک طرح XSD برای خروجی XML از داده ها باز می گرداند.

HasChanges()

یک مقداری را دریافت می کند که نشان می دهد که آیا DataSet تغییر کرده است یا خیر ، که این تغییرات شامل : افزودن ، حذف یا اصلاح ردیف های داده ها می باشند.

HasChanges(DataRowState)

یک مقداری را با فیلتر DataRowState دریافت می کند که نشان می دهد که آیا DataSet تغییر کرده است یا خیر ، که این تغییرات شامل : افزودن ، حذف یا اصلاح ردیف های داده ها می باشند.

IsBinarySerialized

فرمت خروجی سریال شده از DataSet را بازبینی می کند.

Load(IDataReader, LoadOption, DataTable[])

یک DataSet را با مقادیری از یک منبع داده با استفاده از IDataReader ارائه شده و یک آرایه از نمونه های DataTable پر می کند تا اطلاعات schema و namespace تأمین شوند.

Load(IDataReader, LoadOption, String[])

یک DataSet را با مقادیری از یک منبع داده با استفاده از IDataReader ارائه شده و یک آرایه از رشته ها پر می کند تا نام جدول ها در DataSet را تأمین کند.

Merge()

داده ها را با داده هایی از DataSet دیگر ادغام می کند. این متد با فرم های overloaded متفاوت است.

ReadXML()

یک XML schema و داده ها در DataSet را می خواند. این متد با فرم های overloaded متفاوت است.

ReadXMLSchema(0)

یک XML schema را از DataSet می خواند. این متد با فرم های overloaded متفاوت است.

RejectChanges

تمام تغییرات ایجاد شده را از زمانی که آخرین فرخوانی متد AcceptChanges انجام شده است ، به عقب باز می گرداند.

WriteXML()

یک XML schema و داده ها از DataSet را می نویسد. این متد با فرم های overloaded متفاوت است.

WriteXMLSchema()

یک ساختار از DataSet را به عنوان یک طرح XML می نویسد. این متد با فرم های overloaded متفاوت است.

کلاس DataTable

کلاس DataTable نشان دهنده جدول ها در پایگاه داده می باشد. خصیصه های مهم این کلاس در جدول ذیل آورده شده اند ؛ بیشتر این خصیصه ها از نوع read only هستند ، به جزء خصیصه PrimaryKey.

خصیصه

توضیحات

ChildRelations

مجموعه ای از روابط فرزندی را باز می گرداند.

Columns

مجموعه ستون ها را باز می گرداند.

Constraints

مجموعه محدودیت ها را باز می گرداند.

DataSet

DataSet والد را باز می گرداند.

DefaultView

یک view از جدول را باز می گرداند.

ParentRelations

مجموعه ای از ParentRelations را باز می گرداند.

PrimaryKey

یک آرایه ای از ستون ها را به عنوان کلید اولیه برای جدول دریافت کرده یا تنظیم می کند.

Rows

مجموعه ای از ردیف ها را باز می گرداند

جدول ذیل برخی از متدهای مهم کلاس DataTable را نشان می دهد:

متد

توضیحات

AcceptChanges

تمام تغییرات را از آخرین فرخوانی متد AcceptChanges پذیرش می کند.

Clear

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

GetChanges

یک کپی از DatatTable با تمام تغییرات ایجاد شده از وقتی که متد AcceptChanges فراخوانی شده است ، باز می گرداند.

GetErrors

یک آرایه از ردیف های دارای خطا را باز می گرداند.

ImportRows

یک ردیف جدید را به داخل جدول کپی می کند.

LoadDataRow

یک ردیف خاص را پیدا کرده و به روز رسانی می کند ، یا اگر هیچ ردیفی را پیدا نکند ، یک ردیف جدید را ایجاد می کند.

Merge

جدول را با DataTable دیگر ادغام می کند.

NewRow

یک DataRow جدید را ایجاد می کند.

RejectChanges

تمام تغییرات را از زمان آخرین فراخوانی متد AcceptChanges به عقب باز می گرداند.

Reset

یک جدول را به وضعیت اولیه آن دوباره تنظیم می کند.

Select

یک آرایه ای از اشیاء DataRow باز می گرداند

کلاس DataRow

شیء DataRow نشان دهنده یک ردیف در یک جدول می باشد. این کلاس ، خصیصه های مهم زیر را دارا می باشد:

خصیصه

توضیحات

HasErrors

نشان می دهد که آیا خطایی رخ داده است یا خیر.

Items

داده ذخیره شده در یک ستون خاص را دریافت کرده یا تنظیم می کند.

ItemArrays

تمام مقادیر برای یک ردیف را دریافت کرده یا تنظیم می کند.

Table

جدول والد را باز می گرداند.

 

 

برخی از متدهای مهم کلاس DataRow به شرح جدول ذیل می باشد:

متد

توضیحات

AcceptChanges

تمام تغییرات ایجاد شده از زمانی که این متد فراخوانی شده است ، می پذیرد.

BeginEdit

عملیات edit را شروع می کند.

CancelEdit

عملیات edit را کنسل می کند.

Delete

DataRow را حذف می کند.

EndEdit

عملیات edit را پایان می دهد.

GetChildRows

ردیف های فرزند از یک ردیف را دریافت می کند.

GetParentRow

ردیف والد را دریافت می کند.

GetParentRows

ردیف های والد از شیء DataRow را دریافت می کند.

RejectChanges

تغییرات اعمال شده از آخرین فراخوانی متد AcceptChanges را به عقب باز می گرداند.

 

شیء DataAdapter

شیء DataAdapter ، به عنوان یک واسطه بین شیء DataSet و پایگاه داده عمل می کند. این شیء به DataSet کمک می کند تا از داده های پایگاه داده های مختلف یا سایر منابع داده ای استفاده نماید.

شیء DataReader

شیء DataReader ، یک جایگزین برای ترکیب DataSet و DataAdapter می باشد. این شیء یک دسترسی از نوع اتصال جهت دار به رکوردهای داده در پایگاه داده ایجاد می کند. این اشیاء برای دسترسی های read-only مناسب هستند ، همانند پر کردن جمعیت یک لیست ، و سپس شکستن اتصال.

اشیاء DbCommand و DbConnection

شیء DbConnection نشان دهنده یک اتصال با منبع داده می باشد. اتصال می تواند از طریق اشیاء command به اشتراک گذاشته شوند.

شیء DBCommand نشان دهنده دستور یا یک رویه ذخیره شده و ارسال شده به پایگاه داده از طریق بازیابی یا دستکاری داده ها می باشد.

مثال

تا کنون ، ما از جدول ها و پایگاه داده هایی که قبلاً در کامپیوترمان موجود بودند ، استفاده کرده ایم. در این مثال ، ما یک جدول را ایجاد خواهیم کرد ، ستون ها ، ردیف ها و داده ها را به آن افزوده و جدول را با استفاده از شیء GridView نمایش خواهیم داد.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="createdatabase._Default" %>

<!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:GridView ID="GridView1" runat="server">
            </asp:GridView>
         </div>
         
      </form>
   </body>
   
</html>

 

فایل پشت کد به صورت زیر می باشد:

namespace createdatabase
{
   public partial class _Default : System.Web.UI.Page
   {
      protected void Page_Load(object sender, EventArgs e)
      {
         if (!IsPostBack)
         {
            DataSet ds = CreateDataSet();
            GridView1.DataSource = ds.Tables["Student"];
            GridView1.DataBind();
         }
      }
      
      private DataSet CreateDataSet()
      {
         //creating a DataSet object for tables
         DataSet dataset = new DataSet();

         // creating the student table
         DataTable Students = CreateStudentTable();
         dataset.Tables.Add(Students);
         return dataset;
      }
      
      private DataTable CreateStudentTable()
      {
         DataTable Students = new DataTable("Student");

         // adding columns
         AddNewColumn(Students, "System.Int32", "StudentID");
         AddNewColumn(Students, "System.String", "StudentName");
         AddNewColumn(Students, "System.String", "StudentCity");

         // adding rows
         AddNewRow(Students, 1, "M H Kabir", "Kolkata");
         AddNewRow(Students, 1, "Shreya Sharma", "Delhi");
         AddNewRow(Students, 1, "Rini Mukherjee", "Hyderabad");
         AddNewRow(Students, 1, "Sunil Dubey", "Bikaner");
         AddNewRow(Students, 1, "Rajat Mishra", "Patna");

         return Students;
      }

      private void AddNewColumn(DataTable table, string columnType, string  columnName)
      {
         DataColumn column = table.Columns.Add(columnName,  Type.GetType(columnType));
      }

      //adding data into the table
      private void AddNewRow(DataTable table, int id, string name, string city)
      {
         DataRow newrow = table.NewRow();
         newrow["StudentID"] = id;
         newrow["StudentName"] = name;
         newrow["StudentCity"] = city;
         table.Rows.Add(newrow);
      }
   }
}

 

زمانی که برنامه را اجرا می کنیم ، موارد ذیل را مشاهده خواهیم نمود:

  • برنامه کاربردی ایتدا یک مجموعه داده را ایجاد کرده و آن را با کنترل grid view با استفاده از متد DataBind() از کنترل GridView صحافی می کند.
  • متد Createdataset() یک تابع تعریف شده توسط کاربر است ، که یک شیء DataSet جدید ایجاد کرده و سپس متد CreateStudentTable() را که متد دیگر تعریف شده توسط کاربر است را برای ایجاد جدول فراخوانی کرده و آن را به مجموعه Tables از Data set اضافه می کند.
  • متد CreateStudentTable() ، متدهای تعریف شده توسط کاربر AddNewColumn() و AddNewRow() را برای ایجاد ستون ها ، ردیف های جدول و هم چنین افزودن داده به ردیف ها فراخوانی می کند.

زمانی که صفحه اجرا شد ، ردیف هایی از جدول مطابق تصویر زیر باز گردانده می شوند:

 

فصلِ: 5 , تعداد قسمت ها: 176 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل پس از بررسی سیستم مسیریابی و طراحی صفحه نمایش ویدیو ها، به سراغ پنل کاربری خواهیم رفت و مباحث Model Binding و…

توجه: این دوره آموزشی به صورت پیوسته بر اساس آخرین نسخه ی ASP.NET Core بروزرسانی خواهد شد.   آموزش صفر تا صد طراحی سایت اشتراک ویدیو مشابه آپارات با استفاده از  ASP.NET CORE  MVC 3.0 و V…
فصلِ: 8 , تعداد قسمت ها: 357 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه قصد داریم تا فروشگاه اینترنتی دیجی کالا رو با Asp.Net Core3 پیاده سازی کنیم. ابتدا طراحی قالب دیجی کالا رو به صورت کامل انجام خواهیم داد. در مرحله میریم …
فصلِ: 5 , تعداد قسمت ها: 135 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه آموزشی، با استفاده از جدیدترین تکنولوژی ها و ابزار های مایکروسافت (دات نت)، به یک پروژه جذاب مدیریت آگهی مشابه دیوار می پردازیم. این آموزش در دو بخش کلی و…
فصلِ: 7 , تعداد قسمت ها: 153 , سطح: صفر تا صد
موضوعات: آموزش ASP.NET

این فصل در یک نگاه:

در این دوره به آموزش صفر تا صد جدیدترین نسخه ASP یعنی CORE جدیدترین ورژن خواهیم پرداخت.این آموزش از سطح مقدماتی تا فوق …

دوره آموزش کامل طراحی وب به همراه پروژه ساخت سیستم مدیریت کتابخانه  این دوره  با کور 1 آغاز می شود و در ادامه پروژه به کور 2 تبدیل می شودو پروژه نهایی (سیستم مدیریت کتابخانه) با Asp.net کور…
فصلِ: 1 , تعداد قسمت ها: 5 , سطح: متوسط

این فصل در یک نگاه:

ساخت محیط کاربریآموزش نحوه ی ارسال ایمیل در Asp.net MVCآموزش تنظیمات Gmail برای استفادهاستفاده از Yahooاستفاده از سرویس …

به نام خدا... در خدمتتون هستم با آموزش ارسال ایمیل در Asp.net MVC... ارسال ایمیل یکی از اجزای اصلی ییک سایت به شمار می رود و واقعا سایتی که برای اجزای مختلفش همانند ثبت کاربر جدید و یا ارسال…
فصلِ: 2 , تعداد قسمت ها: 62 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل دوم در یک نگاه:فصل دوم در یک نگاه:…

در این پکیج به مبحث طراحی وب ، در قالب ساخت یک سایت فروشگاهی 5040 به آدرس http://5040.ir می پردازیم که به جرات مشهورترین و یکی از برترین فروشگاه های مجازی در کشور است. در این مجموعه قصد داری…
فصلِ: 4 , تعداد قسمت ها: 78 , سطح: متوسط

این فصل در یک نگاه:

در این دوره آموزشی، وبسایت ورزش3 را با استفاده از ASP.NET Core پیاده سازی می کنیم و همچنین اپ اندروید آن را هم با Xamarin متصل به سرور سایت طراحی و در نهایت نحوه انتشار آن در مارکت هایی مثل …
فصلِ: 1 , تعداد قسمت ها: 14 , سطح: متوسط

این فصل در یک نگاه:

کاملترین آموزش هاست و کار با سی پنل.در هنگام خرید سرویس هاست کلمه ای به نام “کنترل پنل” را زیاد خواهید دید آیا تا به حال…

سی پنل یک کنترل پنل هاست محبوب و معروف در جهان و ایران است. در فیلم آموزش سی پنل هم توصیه اکید شده تا افراد مبتدی و حتی افراد حرفه ای از این کنترل پنل هاست سی پنل استفاده کنند. آموزش cpanel …
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل پنجم…

توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط

این فصل در یک نگاه:

رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…

 اصول مدیریت وب سایت برای وب مستر شدن برای موفقیت یک وب سایت لازم الاجراست. زیرا شما دوست دارید وب سایت خود را به کارخانه پولسازی تبدیل کنید. این واقعیت رویا نیست. هرکس این اصول را بداند به …

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید