ذخيره و بازيابی داده توسط ADO.NET (بخش پنجم) آنچه تاکنون گفته شده است : در اين بخش با نحوه نمايش داده موجود در Data Set در کنترل های ListBox , DropDown,CheckBoxList و RadioButtonList آشنا خواهيم شد .
داده موجود در يک DataSet را می توان به هر نوع List Conrol استفاده شده بر روی يک فرم وب ، نسبت داد .کنترل های DataSet و DataList صرفا" دو نمونه متداول به منظور نمايش يک DataSet می باشند. برای نمايش داده موجود در يک DataSet می توان از کنترل های ListBox,DropDownList,CheckBoxList و يا RadioButtonList ، نيز استفاده نمود .
ذخيره و بازيابی داده توسط ADO.NET (بخش ششم) آنچه تاکنون گفته شده است : در بخش های قبل اين مقاله به نقش اساسی Data Set در ارتباط با ذخيره و بازيابی داده اشاره گرديد . علاوه بر Data Set ، می توان دستوراتی را مستقيما" بر روی يک Connection بانک اطلاعاتی انجام داد . شی Connection سه متد زير را در ايـن رابطه ارائه نموده است : ExecuteScalar : متد فوق ، يک Query را اجراء نموده و در ادامه صرفا" يک مقدار را بر می گرداند(نظير شمارش تعداد رکوردهای موجود در يک جدول بانک اطلاعاتی ) ExecuteNonQuery : متد فوق ، دستوراتی نظير INSERT,UPDATE و DELETE را که باعث اعمال تغييرات در بانک اطلاعاتی می گردند را اجراء نموده و تعداد سطرهای متاثر از اجرای دستور را برمی گرداند . ExecuteReader : متد فوق ، باعث خواندن رکوردها ی موجود در بانک اطلاعاتی به صورت ترتيبی می گردد. برای استفاده از متدهای فوق ، مراحل زير را دنبال می نمائيم :
ذخيره و بازيابی داده توسط ADO.NET (بخش چهارم) آنچه تاکنون گفته شده است : در اين بخش با نحوه نمايش DataSet در يک DataList آشنا می شويم .
با استفاده از کنترل DataList می توان اطلاعات موجود در يک Data Set را به صورت ليستی مشتمل بر مجموعه ای از سطرها نمايش داد. ( برخلاف DataGrid که شامل سطرها و ستون هائی است ). کنترل فوق برای نمايش سطرهائی از داده مناسب می باشد . برای تعريف فرمت نمايش داده می توان از تمپليت ها و Style استفاده نمود . در کنترل DataList ، سطرهائی از داده به عنوان آيتم هائی در ليست محسوب شده و می توان برای تعريف لی اوت آنان در تمپليت ها از HTML Text و يا ساير کنترل ها ، استفاده نمود. مثلا" می توان از کنترل Label برای نمايش يک فيلد از منبع داده در تمپليت مربوطه استفاده نمود . مبنای اصلی فرمت نمايش داده از يک منبع داده ، تمپليت ها بوده و می توان از آنان به منظور تعيين شکل ظاهری و محتوی کنترل استفاده بعمل آورد. در اين رابطه لازم است در ابتدا با استفاده از تمپليت های Header ، Footer و Separator فرمت مورد نظر خود را برای شکل ظاهری کنترل DataList مشخص نموده و در ادامه با استفاده از تمپليت ItemTemplate ، آيتم ها ی مورد نظر به منظور نمايش در ليست به همراه فرمت مربوطه را تعريف نمود.
برای نمايش يک Data Set در کنترل DataList ، مراحل زير را دنبال می نمائيم :
در بخش اول اين مقاله به تشريح انواع Data Provider و در بخش دوم با نحوه ايجاد يک Connection آشنا شديم . در اين بخش به بررسی نحوه مديريت يک Connection خواهيم پرداخت .
پس از تعريف خصلت ConnectionString مربوط به شی Connection ، می توان با استفاده از متدهای Close و Open ، مديريت وضعيت Connection جاری را انجام داد . در ادامه با نحوه استفاده از متدهای فوق و پاسخگوئی به رويدادهای Connection آشنا خواهيم شد.
فعال نمودن و غير فعا ل نمودن يک Connection
بمنظور فعال نمودن و يا غير فعال نمودن يک Connection می توان بصورت تلويحی عمليات فوق را با فراخوانی متدهای يک شی که از Connection استفاده می نمايند انجام و يا با صراحت و بکمک متدهای Open و يا Close اقدام به فعال نمودن و يا غير فعال نمودن Connection نمود . متدهای Open و Close دو متد اوليه برای هر Connection می باشند .
- متد Open با استفاده از اطلاعات موجود در خصلت ConnectionString ، با يک منبع داده ارتباط و يک ارتباط فعال شده را ايجاد خواهد کرد .
- متد Close باعث غير فعال شدن Connection می گردد .
لازم است به اين نکته اشاره گردد که بستن ( غير فعال نمودن ) يک Connection امری لازم و ضروری است ، چراکه اکثر منابع داده صرفا" تعداد محدودی از ارتباطات فعال را حمايـت نموده و در ضمن ارتباطات فعال ، منابع با ارزش سيستم را اشغال و حجم عملياتی بر روی سيستم را افزايش خواهند داد .
در بخش اول اين مقاله به تشريح انواع Data Provider پرداخته و با نحوه انتخاب آنان بمنظور استفاده در برنامه ها ، آشنا شديم . در اين بخش به بررسی نحوه ايجاد يک Connection خواهيم پرداخت . Connection String ، بخشی ضروری بمنظور ارتباط با يک منبع داده است . خصلت ConnectionString مربوط به شی Connection ، اطلاعات لازم را در اختيار شی Connection قرار می دهد .
امنيت بانک اطلاعاتی
در زمان دستيابی به داده از طريق ADO.NET ، می بايست با استفاده از يک روش ايمن به بانک اطلاعاتی مرتبط گرديد. بمنظور نيل به هدف فوق ، اطلاعات امنيتی نظير نام کاربر و رمز عبور می بايست قبل از ايجاد هر گونه ارتباط با بانک اطلاعاتی در اختيار وی گذاشته شوند ( ارسال اطلاعات اوليه بمنظور اطمينان از معتبر بودن کاربر ) .امنيت بانک اطلاعاتی ، بستگی به نوع بانک اطلاعاتی مربوطه خواهد داشت .
استفاده از امنيت سرويس دهنده SQL
سرويس دهنده SQL ، با استفاده از دو روش متفاوت اقدام به تائيد کاربر می نمايد : تائيد کاربران بر اساس سيستم امنيتی ويندوز ( Microsoft Windows Authentication ) و حالت ترکيبی ( Mixed Mode Authentication )
بمنظوراتصال به يک منبع داده ، می بايست در ابتدا يک Net Data Provider . ، انتخاب گردد . Data Provider ، کلاس های لازم بمنظور اتصال به يک منبع داده ، خواندن اطلاعات ، ويرايش ، بهنگام سازی و انجام عمليات متفاوت بر روی داده ها را ارائه می نمايد . در اين مقاله به تشريح انواع Data Provider پرداخته و با نحوه انتخاب مناسب آنان بمنظور استفاده در برنامه ها ، آشنا خواهيم شد . NET Data Provider . چيست؟ SQL Server .NET Data Provider OLE DB .NET Data Provider در آينده برای ساير منابع داده ، NET Data Provider . مربوطه ايجاد و در دسترس عموم برنامه نويسان قرار خواهد گرفت. هر Provider ، مسئوليت پياده سازی کلاس های عمومی ADO.NET را برعهده خواهد داشت . دستاورد رويکرد فوق ، ارتباط با منابع داده متفاوت با استفاده از يک روش يکسان از طريق محيط های برنامه نويسی خواهد بود .
NET Data Provider .، يک Component کليدی ارائه شده بهمراه معماری ADO.NET بوده که امکان ارتباط بين يک منبع داده و يک Component ، يک سرويس وب XML و يا يک برنامه را فراهم می نمايد. يک NET Data Provider .، امکان اتصال به منبع داده ، بازيابی داده ها ، انجام عمليات بر روی داده ها و بهنگام سازی منبع داده را فراهم می نمايد. بهمراه فريمورک دات نت ، Provider های زير ارائه شده است :
مقدمه
XML در دات نت يکی از مهمترين عناصر محسوب و دارای نقشی کليدی است ( قلب دات نت ) . ASP.NET و سرويس های وب از XML بعنوان روشی ذاتی برای دستيابی به داده ها استفاده می نمايند . سرويس های وب از پروتکل SOAP که خود مبتنی بر XML روی HTTP است ، استفاده می نمايند . پيکربندی و تنظيمات دات نت با فرمت XML ذخيره می گردند . ADO.NET از طريق چندين سطح متفاوت با XML مرتبط می گردد که اين پيوستگی و ارتباط دارای يک مزيت بزرگ خواهد : ارتباط بين داده های رابطه ای و سلسله مراتبی . بنابراين ، می توان XML را نظير چسبی در نطر گرفت که تمام اجزای دات نت را بيکديگر متصل می نمايد. برنامه ها و عناصری که با استفاده از دات نت ايجاد می گردند ، قادر به برقراری ارتباط بکمکXML می باشند . بمنظور کار با XML در دات نت، بيش از دويست کلاس ايجاد شده که در Namespace با نام System.Xml مستقر می باشند . XML با ADO.NET بطور واقعی مرتبط و از اين طريق پلی بين داده های رابطه ای و سلسله مراتبی ايجاد می گردد .
برای استفاده مفيدتر از اين مقاله، توصيه می گردد، مقاله معماری برنامه های مبتنی بر داده را در ابتدا مطالعه نمائيد . ADO.NET ، نسل جديدی از ADO شرکت ماکروسافت است . نسخه ADO ، با استفاده از مجموعه ای اشياء ActiveX Data Object طراحی و پياده سازی شده بود. ADO.NET گرچه در سطح ارائه پتانسيل های لازم در برخی موارد دارای شباهت هائی با ADO است ولی از نظر مدل برنامه نويسی دارای ساختاری کاملا" متفاوت( نسبت به ADO ) است. تعريف ADO.NET ADO.NET، مجموعه ای از کلاس ها بمنظور کار با داده ها است. بموازات رشد اينترنت ، طراحی و پياده سازی برنامه های مبتنی بر وب به امری متداول و نيازی همگانی مطرح شده است . در اين راستا برنامه های متعددی ، از XML بمنظور ارسال اطلاعات خود در شبکه استفاده کرده و هر روز به تعداد اين برنامه ها نيز اضافه می گردد. ADO.NET ، يک مدل برنامه نويسی مناسب بمنظور يکپارچگی بين ويژگی های XML و ADO.NET در فريمورک دات نت را ارائه می نمايد.
بمنظور مديريت و اشکال زدائی شبکه های مبتنی بر پروتکل TCP/IP ، می بايست شناخت مناسبی نسبت به تمامی جنبه ها ی آدرس دهی IP وجود داشته باشد. يکی از مهمترين عمليات مديريتی در شبکه های مبتنی بر پروتکل TCP/IP ، نسبت دهی آدرس های IP مناسب و منحصربفرد به تمامی گره های موجود در شبکه است . با اينکه مفهوم نسبت دهی آدرس IP ، ساده بنظر می آيد ولی مکانيزم واقعی اختصاص آدرس IP موثر با استفاده از Subnetting ، پيچيدگی های خاص خود را بدنبال دارد. علاوه بر موارد فوق ، ضروری است که شناخت مناسبی نسبت به جايگاه IP Broadcast ، ترافيک multicast و نحوه تطبيق آدرس های فوق به آدرس های لايه اينترفيس شبکه نظير آدرس های MAC اترنت و Token Ring ، وجود داشته باشد .در مجموعه مقالاتی که در اين خصوص ارائه خواهد به بررسی مفاهيم و ويژگی های آدرس دهی IP خواهيم پرداخت .
جريان داده در شبکه ای که صرفا" شامل يک سگمنت است ، عمليات ساده ای خواهد بود . در چنين شبکه هائی ، کامپيوترهای ارسال کننده ، يک درخواست Broadcast را بمنظور مشخص نمودن آدرس MAC کامپيوتر مقصدی که قصد ارسال اطلاعات برای آن وجود دارد ، ارسال می نمايند . فرآيند ارسال اطلاعات در شبکه هائی که شامل چندين سگمنت می باشند ، بدين صورت نخواهد بود . در شبکه هائی شامل چندين سگمنت ، فرآيند انتقال اطلاعات بمراتب پيچيده تر خواهد بود. در چنين محيط هائی ، TCP/IP مسيرهای متعددی را بمنظور ارتباط کامپيوترهای موجود در شبکه ارائه و از ارتباطات غير ضروری در اين خصوص ، پيشگيری می نمايد .
درمحيطی که شامل چندين شبکه مرتبط با يکديگر است ، ممکن است کامپيوترهای مبداء و مقصد در يک سگمنت يکسان نباشند . بدين منظور ، آدرس IP کامپيوتر مقصد بررسی تا اين اطمينان حاصل گردد که موقعيت کامپيوتر مقصد نسبت به کامپيوتر مبداء ، محلی ( بر روی يک سگمنت ) و يا از راه دور( موجود بر روی سگمنت ديگر ) است .در صورتيکه کامپيوتر مقصد در راه دور( سگمنت ديگر) باشد ، داده نمی تواند مستقيم برای وی ارسال گردد . در چنين مواردی لايه IP داده مورد نظر را برای يک روتر ارسال می نمايد . روتر، بسته اطلاعاتی دريافتی را به مقصد مورد نظر ، ارسال ( فوروارد ) می نمايد .