مبانی ADO.NET
دوشنبه 3 اسفند 1394ADO.NET مجموعه ای از کلاسهای ( framework) ، که با منابع داده مانند دیتابیس و فایل های XMLدر تعامل است. از این کلاس ها و روش ها برای اتصال ،بازیابی و دستکاری داده ها استفاده میشود.
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
- 6k بازدید
- 8 تشکر