ADO.NET دسترسی مداوم به منابع اطلاعاتی مانند SQL Server و XML و منابعی که از طریق OLE DB و ODBC در دسترس قرار می گیرند را فراهم می کند. نرم افزار های اشتراک گذاری اطلاعات کاربر می توانند از طریق ADO.NET به چنین منابعی متصل شده و داده های موجود در آن را بازیابی، کنترل و بروز رسانی کنند.
ADO.NET دسترسی به داده ها و دستکاری داده ها را به اجزایی که می توانند به صورت پیوسته یا جدا از هم مورد استفاده قرار گیرند، تقسیم می کند. ADO.NET حاوی داده های تهیه کنندگان دات نت فریم ورک است تا بتوان به پایگاه داده ها، دستورات اجرایی و بازیابی نتایج متصل شد. این نتایج، می توانند به صورت مستقیم مورد پردازش قرار گرفته، در یک شی DataSet از ADO.NET جای داده شوند تا به صورت تک کاره در معرض کاربر قرار گیرند، یا این که با داده های منابع چندگانه ترکیب شوند و یا در بین ردیف ها عبور داده شوند. شیء DATASet نیز می تواند به صورت مستقل در دسترس فراهم کنندگان دات نت فریم ورک قرار گرفته تا داده های محلی را برای نرم افزار یا منبع XML مدیریت کنند.
کلاس های ADO.NET در System.Data.dll قابل دسترسی هستند و با کلاس های XML که در System.Xml.dll یافت می شوند، یکپارچه هستند. برای “نمونه کد”ی که به پایگاه داده متصل شده، داده ها را از آن بازیابی می کند و سپس در یک پنجره کنسول به نمایش می گذارد، کد های نمونه ADO.NET[1] را ببینید.
ADO.NET ، کاربردی بودن را برای توسعه دهندگانی که کد های مدیریت شده ای می نویسند که مشابه کاربرد های فراهم شده برای توسعه دهندگان الگوی تشکیل دهنده شیء (COM) به وسیله اشیاء داده ActiveX (ADO) است، فراهم می کند. ما توصیه می کنیم که شما از ADO.NET و نه ADO، برای دسترسی به داده های خود در نرم افزار های دات نت(.NET) استفاده کنید.
ADO.NET، مستقیم ترین شیوه را برای دسترسی به داده های دات نت فریم ورک فراهم می کند. برای انتزاع سطح بالاتر، که به نرم افزار ها اجازه می دهد تا به جای مدل ذخیره سازی اصلی، در مقابل یک مفهومی کار کنند، به انتیتی فریم ورک ADO.NET (ADO.NET Entity Framework) مراجعه کنید.
بایگانی ها: مجموعه های System.Data.dll، System.Data.Design.dll، System.Data.OracleClient.dll، System.Data.SqlXml.dll، System.Data.Linq.dll، System.Data.SqlServerCe.dll و System.Data.DataSetExtensions.dll میان داده های شخصی کاربر و داده های غیر شخصی تمایز قائل نمی شوند. این مجموعه ها، انتقال، ذخیره سازی یا جمع آوری داده های شخصی کاربر را انجام نمی دهند. با این حال، برنامه های شخص سوم [2] می توانند با استفاده از این مجموعه ها، داده های شخصی کاربر را انتقال داده، ذخیره و یا جمع آوری کنند.
اشیاء ADO.NET
ADO.NET از بسیاری از اشیائی استفاده می کند که شما می توانید برای کار با داده ها از آن ها استفاده کنید. این بخش، برخی از اشیائی که شما از آن ها استفاده خواهید کرد را معرفی می کند. در طول این دوره آموزشی، شما از نظر چگونگی استفاده این اشیاء در یک درس خاص، در معرض بسیاری از اشیاء دیگر ADO.NET قرار خواهید گرفت. اشیاء زیر، آن هایی هستند که شما باید آن ها را بشناسید. دانستن این اشیاء به شما ایده ای از انواع کارهایی که در حین کار با ADO.NET می توانید انجام دهید، می دهد.
شیء اتصال Sql (The SqlConnection Object)
برای تعامل با یک پایگاه داده، باید اتصالی به آن داشته باشید. این اتصال کمک می کند تا هویت پایگاه، نام آن، نام کاربر، گذرواژه و دیگر پارامتر هایی که برای اتصال به یک پایگاه داده مورد نیاز هستند را به دست بیاورید. یک شیء اتصال، توسط اشیاء دستوری مورد استفاده قرار می گیرد تا آن ها بدانند برای اجرای دستورات، به کدام پایگاه داده باید متصل شوند.
شیء دستور Sql (The SqlCommand Object)
فرآیند تعامل با یک پایگاه داده، به این معنی است که شما باید اقدامی را که می خواهید انجام شود، مشخص کنید. این کار با استفاده از یک شیء دستور انجام می شود. شما از یک شیء فرمان، برای ارسال دستور SQL به پایگاه داده استفاده می کنید. یک شیء دستور، برای یافتن پایگاه داده ای که باید با آن ارتباط برقرار کند، از شیء اتصال استفاده می کند. شما می توانید برای اجرای مستقیم یک دستور، تنها از یک شیء دستور استفاده کنید یا این که برای یک شیء فرمان، مرجعی در SqlDataAdapter تعیین کنید که مجموعه ای از دستوراتی را نگه می دارد که بر روی گروهی از داده ها عمل می کنند. این کار در زیر شرح داده شده است.
شیء خواننده داده Sql (The SqlDataReader Object)
بسیاری از عملیات های داده ای تنها نیازمند این هستند که شما جریانی از داده ها را برای خواندن در اختیار آن ها بگذارید. شیء خواننده داده به شما اجازه می دهد تا نتایج یک دستور SELECT را از یک شیء دستور به دست آورید. به دلایل عملکردی، داده ای که از یک “داده –خوان” باز می گردد، یک جریان fast forward-only داده است. این سخن به این معنی است که شما تنها می توانید داده را به صورت ترتیبی از این جریان خارج کنید. این کار برای سرعت دهی خوب است، اما اگر نیاز داشته باشید که داده ها را دستکاری کنید، آن گاه یک DataSet، شیء بهتری برای کار کردن می باشد.
شیء مجموعه داده (The DataSet Object)
اشیاء DataSet، نمایش “درون حافظه”[3] ای داده ها هستند. آن ها دقیقا همانند جدول های معمولی پایگاه داده، حاوی جدول های داده چندگانه اشیاء، از قبیل سطر ها و ستون ها هستند. شما حتی می توانید برای ایجاد روابط والدین-فرزند، روابطی را در میان این جدول ها ایجاد کنید. DataSet به طور ویژه برای کمک به مدیریت داده های درون حافظه و پشتیبانی از عملیات های قطع شده از داده ها، جایی که چنین سناریو ای معنی پیدا می کند، طراحی شده است. DataSet شیء ای است که توسط تمامی فراهم کنندگان داده مورد استفاده قرار می گیرد. این دلیلی است که چرا این شیء ، یک پیشوند خاص ندارد.
[1] ADO.NET Code Examples
[2] third-party applications
[3] in-memory representations of data