اموزش طراحی وب با asp.net قسمت 4 | DataSet Object
با ادامه اموزش طراحی وب با asp.net در کنار شما هستیم . در این قسمت به موضوع DataSet Object میپردازم .
ھمانطور که قبلا گفته شد DataSet شی است که می تواند اطلاعات درون جداول پايگاه اده را درون خود نگه داری کند و بعد با اجرای دستوراتی ان را در وب سایت خود صدا بزنید. حتی وقتی که Connection بسته باشد.اين ويژگی باعث شده که از آن استقبال زيادی به عمل آيد.اين شی کاربرد ھای زيادی نظير به اشتراک گذاشتن داده ھا – پيمايش عقب و جلو بين حجم انبوه داده ھا و … را دارد.
پس شما می توانيد اطلاعات يک جدول پايگاه داده را استخراج کرده و درون DataSet قرار دھيد و Connection را ببنديد و سپس روی آن داده ھا در DataSet تغييراتی را ايجاد کنيد و پس از اتمام تغييرات , آن را به پايگاه داده اعمال کنيد.باز ھم می گوييم ھمه ی اين کار ھا در Connection بسته انجام می شود و ھمانطور که قبلا گفتيم, ھر چه زمان اتصال به پايگاه داده کمتر باشد کارايی برنامه وسرعت وب سایت بالاتر میرود بالاتر می رود.
ھمچنين DataSet می تواند با Xml ھم کار کند و در آن بخواند و بنويسد که در بحث مرتبط با Xml آن ھا را فرا خواھيد گرفت.برای ذخيره ی اطلاعات يک جدول از DataBase از زير کلاس DataSet به نام DataTable استفاده می شود و ھر شی DataTable حاوی سطر ھا و ستون ھايی است که برای دسترسی به آنھا به ترتيب از اشيا DataColumn و DataRow استفاده می شود.ھمه ی اين کار ھايی که تا اينجا گفته شد تا وقتی شی DataAdapter نباشد بی فايده است.
ھمانطور که گفته شد DataAdapter مديريت اطلاعات استخراج شده از پايگاه داده را بر عھده دارد که يک وظيفه ی آن پر کردن DataSet اطلاعات استخراجی از پايگاه داده است.اين شی در فضای نام System.Data.SqlClient.SqlDataAdapter قرار دارد.شی DataAdapter دارای
٢ متد مھم است: :Fill وظيفه ی پر کردن DataSet را با اطلاعاتی که DataAdapter استخراج کرده را بر عھده دارد.
Update: وظيفه ی دسترسی و تغييرات داده ھا در DataSet و اعمال اين تغييرات به DataSource اصلی پايگاه داده را بر عھده دارد. حال يک مثال ساده در زير برای پر کردن DataSet را انجام می دھيم.ابتدا رشته ی اتصال و Connection را مشخص می کنيم:
ConfigurationManager.ConnectionStrings(“aaa”).ConnectionString
(Dim con As New SqlConnection(cs
سپس Query String مربوطه را می نويسيم:
Dim cmd As String = “SELECT * FROM loan”
حالا يک متغير از نوع شی DataSet تعريف و آن را New می کنيم:
Dim ds As New DataSet
سپس نوبت می رسد به تعريف و New کردن متغيری از نوع SqlDataAdapter . این شی در اينجا دو آرگومان می پذيرد اولی Query String و دومی Connection مربوطه:
(Dim adapter As New SqlDataAdapter(cmd, con
در نھايت ھم عمليات پر کردن شی DataSet را با متد Fill شی SqlDataAdapter;
(“Adapter.Fill(ds, “loan
اين کار با پذيرفتن دو آرگومان صورت می گيرد.اولی که نام شی DataSet است.دومی نام جدول است که نامی دلخواه می توانيد انتخاب کنيد.حتی می توانيد عددی را به آن بدھيد تا نام جدول اصلا يک عدد باشد.از آنجا که می توان چندين جدول در شی DataSet قرار داد ,نام اين جدول ھا است که باعث می شود ما آنھا را بتوانيم تفکيک کنيم.حالا تمام مقادير محتوی جدول Loan در داخل شی DataSet قرار دارد.نکتھی قابل توجه در اينجا اين است که ما نه Connection را باز کرديم ونه ان را بستيم.دليل اين کار وجود شی DataAdapter است زيرا در آرگومان دوم ورودی اين شی, ما نام Connection را مشخص کرديم و اين امر باعث شد که خود به خود Connection باز و بسته شود.پس ھر گاه از شی DataAdapter استفاده کرديد نيازی به باز و بستن Connection نداريد چون DataAdapter به طور اتوماتيک و به بھترين نحو اين کار را انجام می دھد.نکته ی جالب ديگراين است که ما تمام اطلاعات درون جدولی از پايگاه داده را داريم در حالی که Connection بسته است.و نکته ی ديگر اين است که متد Fill از شی DataAdapter ھمان کارٍ Execute کردن Query ھا را نيز انجام می دھد.پس اصلا نيازی به شی Command نيست.
نکته ی ديگر در باره ی متد Fill از شی DataAdapter اين است که با صدا زدن اين متد علاوه بر اجرای Query و Connection ھم بسته می شود.
در نھايت ھم نمايش داده ھا با کنترل .GridView برای اين کار شما بايد مقداری را برای خاصيت DataSource از کنترل GridView در نظر بگيريد.قبل از آن بياييد با خاصيتی از شی DataSet به نام Table استفاده کنيم.از آنجا که شی DataSet تواند حاوی چندين جدول ھم باشد برای مشخص کردن يک جدول خاص و نمايش آن بايداز اين خصوصيت استفاده کرد.آرگومان ورودی آن ھم نام جدول است.حالت کلی آن به صورت زير است:
(“DataSetName.Tables(“Table Name
در پست بعدی به ادامه اموزش طراحی وب سایت با asp.net میپردازیم
برای دین اموزش های بیشتر به وب سایت https://www.asp.net/learn کنید.
دیدگاهتان را بنویسید