PDA

View Full Version : آموزش: مبانی ADO.NET



Alireza.AM
شنبه 12 تیر 1389, 16:26 عصر
مبانی ADO.NET
علیرضا اکبری ماکویی
سال ۱۳۸۹
سطح مقاله: مبتدی

چکیده
موضوع این مقاله، تکنولوژی دسترسی به داده‌هاست. علی‌رغم تغییرات گسترده‌ای که در ADO.NET بواسطه نسخه‌های مختلف .NET Framework بوجود آمده، مبانی این تکنولوژی تقریبا مشابه آنچه که بود باقی مانده است. هدف این مقاله معرفی مفاهیم مقدماتی ADO.NET و اشیاء کلیدی آن است.


ADO.NET تکنولوژی دسترسی به داده‌ها است. توجه داشته باشید که ADO.NET یک Syntax و یا زبان نیست که بوسیله آن بتوان برنامه ای نوشت بلکه مانند ASP.NET یک تکنولوژی است که توسط همه زبانهای .NET Platform مانند VB.NET یا #C قابل پیاده سازی می باشد. علی رغم تغییرات گسترده ای که در ADO.NET به‌واسطه Framework های مختلف بوجود آمده، مبانی این تکنولوژی تقریبا مشابه آنچه که بود باقی مانده است.

برای دسترسی به یک Database پیش از هر چیز به یک Connection نیاز داریم، Connection به عبارتی پل ارتباطی بین کد برنامه نویسی شما و Database است، ما هنگامی که قصد دسترسی به داده ها در یک پایگاه داده ها (Database) را داریم یک Connection به آن Database باز می کنیم و هنگامیکه کارمان به انجام رسید آن Connection را می بندیم.

کارهایی که ما با داده های موجود در یک پایگاه داده ها انجام می دهیم عبارت هستند از:

1. خواندن داده ها
2. ایجاد داده های جدید
3. ویرایش داده ها
4. حذف کردن داده ها

فرض کنید که شما لیست دانش آموزان یک مدرسه را در یک پایگاه داده ها نگهداری می کنید، چهار عمل ذکر شده برای این مثال عبارت هستند از:

1. خواندن لیست دانش آموزان
2. اضافه کردن یک دانش آموز جدید
3. تغییر آدرس محل سکونت یک دانش آموز بواسطه تغییر محل سکونت
4. حذف کردن یک دانش آموز از لیست به دلیل عدم اشتغال به تحصیل در این مدرسه

هرکدام از این عملیات تحت عنوان یک Command (دستور) و با کمک Connection مربوطه در Database انجام می شوند.

تا اینجا با دو Object از ADO.NET آشنا شده اید: Connection و Command

ممکن است که شما مایل باشید یک یا چند کار را در یک Database انجام بدهید، بنابراین ممکن است شما به چهار Command نیاز داشته باشید، در ADO.NET یک Interface برای سامان دادن به بعضی Object های مرتبط به هم در نظر گرفته شده، این Interface که خود نیز یک Object است، Object هایی نظیر Connection و Command را مدیریت می کند تا شما انجام عملیات، مجبور به مراجعه مستقیم به خود آنها نباشید و تنها با این Interface که نامش Data Adapter می باشد کار کنید.

فرض می کنیم که قصد ما نمایش لیست دانش آموزان در یک Component دارای توانایی نمایش لیست داده ها مانند GridView و یا به قول برنامه نویسهای قدیمی DataGrid است، یعنی ما می خواهیم لیست دانش آموزان را در یک GridView نمایش بدهیم، برای این منظور لازم است که منبع داده ها (DataSource) را برای GridView آماده کنیم و به آن تحویل دهیم، این DataSource در حقیقت یکی دیگر از Object های ADO.NET می باشد که ما آنرا به وسیله DataAdapter و در حقیقت بوسیله Command مربوط به خواندن لیست و همچنین Connection مربوط به دستور خواندن، آماده می کنیم.

حالا به این سطرها دقت کنید:


برای برنامه نویسان C# :


تعریف یک Connction
System.Data.SqlClient.SqlConnection cn;

قابل استفاده کردن یاInstant کردن Connection
cn = new System.Data.SqlClient.SqlConnection();


دادن آدرس و و تعیین نوع دسترسی به Database یه Connection
cn.ConnectionString = "Data Source=.;Initial Catalog=SchoolDataBase;Integrated Security=True";


تعریف DataAdapter
System.Data.SqlClient.SqlDataAdapter da;

تعریف Command
System.Data.SqlClient.SqlCommand cmd;

قابل استفاده کردن یاInstant کردن Command
cmd = new System.Data.SqlClient.SqlCommand();

دادن متن دستور به Command
cmd.CommandText = "select * from StudentList";

تخصیص Connection به Command
cmd.Connection=cn;

قابل استفاده کردن یاInstant کردن DataAdapter
da = new System.Data.SqlClient.SqlDataAdapter();

تخصیص Command به DataAdapter
da.SelectCommand = cmd;

تعریف DataSet
System.Data.DataSet ds;

قابل استفاده کردن یاInstant کردن DataAdapter
ds = new System.Data.DataSet();

پر کردن DataSet توسط DataAdapter
da.Fill(ds);


تخصیص DataSet به GridView
MyGridView.DataSource = ds;

Load کردن داده ها در GridView
MyGridView.DataBind();

برای برنامه نویسان VB.NET :

'تعریف یک Connction
Dim cn As System.Data.SqlClient.SqlConnection

'قابل استفاده کردن یاInstant کردن Connection
cn = New System.Data.SqlClient.SqlConnection()

'دادن آدرس و و تعیین نوع دسترسی به Database یه Connection
cn.ConnectionString = "Data Source=.;Initial Catalog=SchoolDataBase;Integrated Security=True"


'تعریف DataAdapter
Dim da As System.Data.SqlClient.SqlDataAdapter

'تعریف Command
Dim cmd As System.Data.SqlClient.SqlCommand

'قابل استفاده کردن یاInstant کردن Command
cmd = New System.Data.SqlClient.SqlCommand()

'دادن متن دستور به Command
cmd.CommandText = "select * from StudentList"

'تخصیص Connection به Command
cmd.Connection = cn

'قابل استفاده کردن یاInstant کردن DataAdapter
da = New System.Data.SqlClient.SqlDataAdapter()

'تخصیص Command به DataAdapter
da.SelectCommand = cmd

'تعریف DataSet
Dim ds As System.Data.DataSet

'قابل استفاده کردن یاInstant کردن DataAdapter
ds = New System.Data.DataSet()

'پر کردن DataSet توسط DataAdapter
da.Fill(ds)

'تخصیص DataSet به GridView
MyGridView.DataSource = ds

' پر کردن داده ها در GridView
MyGridView.DataBind()


این مقاله، فقط یک معرفی اجمالی از ADO.NET بود، خیلی طبیعی است که برای آنها که تاره به برنامه نویسی روی کرده اند کمی مبهم باشد، برای این دسته از دوستان همین که خطوط کد برنامه تا حدی مفهوم باشد کفایت می کند، با این حال می توانید این کدها را در یک پروژه در Visual Studio بنویسید و نتیجه آن را مشاهده کنید، البته فراموش نکنید که DataBase مورد نیاز را بسازید و همچنین GridView را نیز روی صفحه قرار بدهید.

برای کسب اطلاعات بیشتر، این مقاله را به شما پیشنهاد می کنم:

http://msdn.microsoft.com/en-us/library/27y4ybxw.aspx

nimazv
دوشنبه 23 فروردین 1395, 14:58 عصر
ممنون، دید خوبی به من دادید.