عنوان
|
نويسنده
|
مشاهده
|
تعداد
آراء |
امتياز
|
ذخيره و بازيابی داده توسط ADO.NET (بخش سوم) |
مديريت وب |
13896 |
9 |
4.1 |
با توجه به جایگاه داده در عصر حاضر و لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و خدمات خود را از طریق سایت www.fabak.ir به مخاطبان محترم عرضه می نماید
 |
ذخيره و بازيابی داده توسط ADO.NET (بخش سوم)
ذخيره و بازيابی
داده توسط ADO.NET (بخش
سوم)
آنچه
تاکنون گفته شده است :
|
-
بخش اول
: نحوه ايجاد Connection و Dataset
-
بخش دوم :
عمليات بر روی يک Dataset
|
اکثربرنامه کامپيوتری نيازمند دستيابی به داده از طريق يک
منبع داده ( Data Source ) می باشند . فريمورک دات نت ،
امکان طراحی و پياده سازی برنامه های کامپيوتری با محوريت داده را فراهم و امکان
دستيابی به داده از طريق منابع داده متفاوت و با استفاده از يک محيط همگن و
يکپارچه توسط ADO.NET
را فراهم می نمايد.
ADO.NET امکان ايجاد برنامه های توزيعی و اشتراک داده
بين آنان را فراهم می نمايد . با استفاده از امکانات ADO.NET
امکان ارتباط با منابع داده متفاوت
، بازيابی ، پردازش و بهنگام سازی داده فراهم می
گردد. ADO.NET از XML به
منظور انتقال داده بين برنامه ها و منابع داده ، استفاده می نمايد.
اکثر کنترل های سرويس دهنده
ASP.NET دارای پتانسيلی با نام " نسبت دهی داده "
( Data Binding ) ، می باشند. نسبت دهی داده ، فرآيندی
است که در آن امکان استفاده
از داده در يک برنامه وب فراهم می گردد. مثلا" می توان کنترل های
سرويس دهنده DataGrid و DataList
را بر روی يک فرم وب
و به منظور نمايش داده موجود در يک Data Set
استفاده نمود . دراين مقاله قصد داريم به با نحوه نمايش يک Data
Set بر روی يک فرم وب با استفاده از کنترل DataGrid
بيشتر آشنا
شويم .
منابع داده ( Data
Sources )
"منبع داده "
، يک بانک اطلاعاتی سرويس دهنده و يا يک فايل
XML می باشد . برای دستيابی به يک منبع داده ، می بايست
يک ارتباط( Connection ) با منبع داده از طريق
Data Providers ، ايجاد گردد.Data
Provider ارائه شده همراه ADO.NET ،
امکان برقراری ارتباط به يک منبع داده و انجام عمليات متفاوتی نظير اجرای
دستورات SQL را فراهم می
نمايد .
NET Data Provider
.
Data Provider ، امکان برقراری ارتباط با يک منبع
داده را فراهم و در ادامه می توان دستوراتی را اجراء و نتايج مورد نظر را بازيابی
نمود. . يک Data Provider ارائه شده در دات نت ، شامل
اشياء Connection,Command,DataReader و
DataAdapter بوده که امکان ارتباط با بانک اطلاعاتی و
اجرای دستورات SQL را فراهم می نمايد. ويژوال استوديو
دات نت و فريمورک دات نت ، شامل دو Provider ، با نام
OLE DB .NET و SQL Server .NET
می باشد . با استفاده از OLE DB.NET Provider می توان به
منابع داده از نوع OLE DB ارتباط برقرار نمود. با
بکارگيری SQL Server .NET Provider ، امکان برقراری
ارتباط با بانک های اطلاعاتی SQL Server 7.0 و بعد از آن
فراهم می گردد.
DataSet
-
يک Cache از رکوردهای
بازيابی شده از يک منبع داده نظير يک بانک اطلاعاتی و يا يک فايل
XML است.
-
شامل رکوردهائی از يک و يا چندين جدول
و اطلاعاتی در خصوص
نحوه ارتباط آنان می باشد.
-
با استفاده از DataSet
، امکان انجام پردازش دلخواه با توجه به خواسته کاربر ، ميسر می گردد.
-
از DataSet
بدون يک منبع داده به منظور مديريت داده دريافتی از يک برنامه و يا يک فايل
XML ، استفاده می گردد .
-
امکان ارتباط با بانک اطلاعاتی را به
صورت غيرمتصل فراهم می نمايد .
-
امکان مبادله يک
DataSet بين عناصر موجود در لايه های متفاوت وجود دارد. مثلا" يک عنصر در Tier ميانی می تواند اقدام به ايجاد
و توزيع يک DataSet و ارسال آن برای عنصر ديگر در يک
برنامه نموده تا امکان پردازش لازم برروی DataSet
، فراهم گردد.
-
در زمان ايجاد يک برنامه با محوريت داده که از ADO.NET
استفاده می گردد ، داده بين اشياء متفاوت منتقل می گردد. داده در ابتدا از يک منبع
داده به يک DataSet و در ادامه به عنصر مورد
نظر منتقل می گردد( نظير کنترل ها در يک فرم وب)
.
-
ADO.NET از
XML به منظور انتقال داده بين عناصر متفاوت يک برنامه
استفاده می نمايد . ADO.NET به صورت اتوماتيک فايل های
XML را با استفاده از داده موجود در يک
DataSet ايجاد و در ادامه آنان را برای عنصر ديگر ارسال
می نمايد .
-
يک DataSet ، مجموعه ای از جداول و اطلاعاتی در رابطه
با نحوه ارتباط بين آنان می باشد. هر جدول شامل مجموعه ای از سطرها ، ستون ها و محدوديت
ها است . برای دستيابی به اين عناصر می توان از خصلت ها و مجموعه های يک
DataSet استفاده نمود. برای کار با
DataSet در ADO.NET از کلاس های زير استفاده می
شود :
- کلاس DataSet : کلاس فوق ، شامل مجموعه
Tables از
جداول موجود در يک DataSet می باشد . علاوه بر اين، کلاس
DataSet شامل مجموعه Relations
بوده که ارتباط بين جداول در يک DataSet
را مشخص می نمايد .
- کلاس DataTables : کلاس فوق ، شامل مجموعه های
Rows و Columns بوده که
مسئوليت ارائه سطرها و ستون ها را برعهده دارند.کلاس فوق،
همچنين شامل
مجموعه های ChildRelation و
ParentRelation بوده که ارتباط بين جداول را مشخص می نمايد.
- کلاس DataRow : کلاس فوق ، شامل خصلت
RowState می باشد . خصلت فوق
، تغيير يک سطر پس از لود شدن جدول از يک بانک اطلاعاتی را مشخص نموده و می تواند
دارای مقادير Deleted,Modified,New و
Unchanged ، باشد .
DataGrid
کنترل سرويس دهنده وب DataGrid ، داده ها را در يک لی
اوت جدول بندی شده ، نمايش میدهد . به صورت پيش فرض DataGrid
داده را در حالت Read-only ( فقط خواندنی ) نمايش
داده ولی امکان نمايش داده به صورت
اتوماتيک در زمان اجراء در کنترل های قابل ويرايش
، نيز وجود دارد
DataGrid ، امکان Pagging
را نيز فراهم می نمايد .کنترل
DataGrid ، فيلدهای يک منبع داده را به عنوان ستون هائی
در يک جدول نمايش می دهد. هر سطر در کنترل DataGrid نشان
دهنده يک رکورد در منبع داده است . کنترل DataGrid
امکاناتی همچون : انتخاب ، ويرايش ، حذف ، مرتب سازی و paging
را حمايت می نمايد .
نمايش يک DataSet در DataGrid
ساده ترين روش نمايش يک Data Set بر روی يک فرم وب
، استفاده از کنترل DataGrid و مقداردهی مناسب خصلت
DataSource آن می باشد.بدين منظور مراحل زير
را دنبال می نمائيم :
-
ايجاد اشياء
Connection,Adapter و Dataset
( در بخش اول مقاله ، توضيح داده شده
است ) .
-
اضافه نمودن يک کنترل DataGrid بر روی فرم وب



VB.NET |
Private Sub Page_Load (ByVal sender As
System.Object , ByVal e As System.EventArgs ) Handles Mybase.Load
SqlDataAdapter1.Fill(DataSet11)
DataGrid1.DataBind()
End Sub
|
روتين فوق ، تمامی ستون های موجود در
Data Set را بدون فرمت
مناسب و به صورت زير نمايش می
دهد :

همانگونه که مشاهده می شود ،DataGrid
بدون فرمت خاصی نمايش داده شده است .برای انتخاب ستون هائی که قصد نمايش آنان را در
DataGrid داريم و همچنين تعريف فرمت مناسب برای
نمايش هر يک از آنان ، مراحل زير را دنبال
می نمائيم :





شکل زير يک DataGrid
فرمت شده را نمايش می دهد :

در بخش چهارم اين مقاله با نحوه
استفاده از Data Set در يک DataList
آشنا خواهيم شد.