مبانی ADO.NET

دوشنبه 3 اسفند 1394

ADO.NET مجموعه ای از کلاسهای ( framework) ، که با منابع داده مانند دیتابیس و فایل های XMLدر تعامل است. از این کلاس ها و روش ها برای اتصال ،بازیابی و دستکاری داده ها استفاده میشود.

 مبانی ADO.NET

ADO مخفف  کلمات ActiveX Data Objects است.و اجازه میدهد تا با داده ها یا دیتابیس ها اتصال برقرار کنیم. این کلاس ها و روش ها برای بازیابی و دستکاری داده است.

در زیر تعدادی از برنامه های دات نت که با استفاده از ADO.NET به یک دیتابیس متصل ،  دستورات را اجرا و داده ها را از دیتابیس  بازیابی میکنند، قرار دارد.

ASP.NET Web Applications

Console Applications

Windows Applications


دو نوع معماری اتصال وجود دارد:

Connected architecture: ارتباط با پایگاه داده در کل فرآیند در برنامه باقی می ماند.

Disconnected architecture: برنامه در طول پردازش به طور خودکار وصل/ قطع می شود. این برنامه از داده های موقت در سمت نرم افزار با نام DataSet  استفاده میشود.

درک ADO.NET  و class library آن

در این نمودار،  انواع مختلفی از برنامه های کاربردی (برنامه وب، کنسول، ویندوز نرم افزار و ...) که از ADO.NET برای اتصال به دیتابیس (SQL سرور، اوراکل، OLEDB، ODBC، فایل های XML وجود دارد) استفاده میکنند ،مشاهده میشود

کلاس mportant در ADO.NET

همچنین می توانیم کلاس های مختلف را در نمودار قبل مشاهده کنیم :

Connection Class

Command Class

DataReader Class

DataAdaptor Class

DataSet.Class

Connection Class .1

در ADO.NET، از این کلاس ها برای اتصال به دیتابیس استفاده میکنیم. همچنین این کلاس ها ،مدیریت تراکنش ها و اتصال pooling را انجام میدهد.

Command Class. 2

کلاس Command روشی برای ذخیره و اجرای دستورات SQL و Stored Procedure است.  در زیر دستورات مختلفی که توسط کلاس Command اجرا می شوند ، میباشد.

ExecuteReader :داده ها را در کلاینت بصورت سطر برمیگرداند. این به طور معمول یک عبارت SQL select statement یا Stored Procedure که شامل یک یا بیشتر select statement ها است ،میباشد. این متد ،یک شی DataReader  است که  برای پر کردن یک شی DataTable   یا چاپ گزارش به طور مستقیم  ،استفاده میشود و آن رابرمیگرداند.

ExecuteNonQuery: دستور تغییر داده ها در دیتابیس، مانند به روز رسانی، حذف، و insert statement ویا Stored Procedure که شامل یک یا بیشتر select statement ها هستند ،را اجرا میکند. این روش یک integer است که تعداد سطرهای تحت تاثیر کوئری را برمی گرداند.

ExecuteScalar: این روش تنها یک مقدار واحد را برمی گرداند. این نوع کوئری یک مقدار از ردیف یا یک مقدار محاسبه شده را برمی گرداند.

ExecuteXMLReader: ( فقط SqlClient classes ) داده را از دیتابیس SQL Server 2000  با استفاده از XML stream بدست می آورد. یک شی XML Reader  را برمی گرداند.

DataReader Class .3

از  DataReader  برای بازیابی داده ها استفاده می شود. در conjunction با کلاس Command ،برای اجرای یک دستور SQL Select statement از آن استفاده شده است و پس از آن به سطرهای return شده  ، دسترسی پیدا میکند.

DataAdapter Class .4

از DataAdapter  برای اتصال DataSets با دیتابیس استفاده میشود. dataadapter وقتی سودمند است که از کنترل data bound در Windows Forms استفاده شود،  اما همچنین آن می تواند از یک راه آسان برای مدیریت ارتباط بین نرم افزار ها و جداول دیتابیس underlying ،view ها و Stored Procedure ها استفاده کند.

DataSet Class .5

DataSet  قلب ADO.NET است. DataSet اساسا مجموعه ای شی DataTable هستند. به نوبه خود هر شی شامل مجموعه ای از اشیاء DataColumn و  DataRow است.  DataSet  همچنین شامل مجموعه روابط است که می تواند برای تعریف روابط میان اشیاء Data Table مورد استفاده قرار گیرد.

چگونه  با استفاده از ADO.NETبه دیتابیس متصل شویم

در حال حاضر یاد بگیرید که چگونه برای اتصال به یک پایگاه داده از  ADO.NET   استفاده  کنید. برای ایجاد یک اتصال، شما باید با connection strings آشنا باشید . .   connection strings  به عنوان پارامتر درSqlConnection  مورد نیاز است. ConnectionString  یک متغیر رشته ای است.

این شامل key و value pairs ، like provider ، server، database ، userid و Password  مانند موارد زیر است:

Server = "نام سرور و یا IP آدرس سرور"
Database
= "نام دیتابیس"

Userid ="نام کاربری که اجازه کار با پایگاه داده را دارد"

Password  ="پسورد برای ورود به دیتابیس"

نمونه:

SQL Authentication

String constr="server=.;database=institute;user id=rakesh;word=abc@123";

یا

String constr="data source=.;initial catalog=institute;uid=rakesh;pwd=abc@213";

Windows Authentication

String constr="server=.;database=institute;trusted_connection=true"

یا

String constr="server=.;initial catalog=institute;integrated security=true"

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

 رویه :

1. ایجاد شی SqlConnection با استفاده از connection string

Handle exceptions .2

3. باز کردن connection

4. ایجاد SQLCommand . مانند (select * from studentdetails) و  existing connection  فایل ضمیمه آن است. نوع  SQLCommand (text/storedprocedure)   مشخص کنید .

5. اجرای دستور (use executereader)

6.  نتیجه (use SqlDataReader). Dataobject آن forwardonly/readonly است.

7. بستن connection

8. پردازش نتیجه
9. نمایش نتیجه

کد زیر را برای اتصال به یک پایگاه داده SQL است:

شما باید از فضای نام System.Data.SqlClient برای اتصال به یک پایگاه داده SQL استفاده کنید. در کد قبلی از کلاس SqlConnection، کلاس SqlCommand و کلاس SqlDataReader چون برنامه با SQL سرور در  ارتباط بود ،استفاده کردیم. SQL سرور، تنها SQL را درک می کند.

اتصال به پایگاه داده اوراکل

اگر شما می خواهید به یک پایگاه داده اوراکل متصل شوید، نام کلاس connection از SqlConnection را به نام کلاس  OracleConnection Command  و SqlCommand را به OracleCommand و SqlDataReader به OracleDataReader تغییر دهید و همچنین از فضای نامی  System.Data.OralceClient استفاده کنید.

آموزش نصب sql server 2017

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

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

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

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