مفاهیم اولیه ADO.NET


می توان از ADO.NET به عنوان تکنولوژی دسترسی به داده ها نام برد، علی رغم تغییرات گسترده ای که در ADO.NET بواسطه Framework های 1 تا 4 بوجود آمده، مبانی این تکنولوژی تقریبا مشابه آنچه که بود باقی مانده.

در این مقاله تلاش می شود که مبانی مقدماتی  ADO.NET و برخی از Object های کلیدی آن به شیوه ای عملی و دور از پیچیدگیهای تئوریک ارائه شود.

همیشه پای یک DATABASE در میان است

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

برای دسترسی به یک 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 را نیز روی صفحه قرار بدهید.

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

هیچ نظری موجود نیست: