PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش Visual BAsic .NET به زبان ساده از مبتدي تا پيشرفته



TAHA
10-30-2009, 12:06 AM
يک برنامه کامپيوتری ، از مجموعه ای دستورالعمل که نوع و نحوه انجام يک فعاليت را برای کامپيوتر مشخص می نمايند ، تشکيل می گردد. دستورالعمل های نوشته شده بعنوان نمونه ممکن است به کامپيوتر اعلام نمايند که تعدادی از اعداد را با يکديگر جمع و يا دو عدد را بايکديگر مقايسه و بر اساس نتيجه بدست آمده ، اتخاذ تصميم نمايد. دستورالعمل های نوشته شده ، صرفا" برای کامپيوتر قابل فهم و اجراء خواهند بود.کامپيوتر دستورالعمل های نوشته شده را اجراء و ماحصل آن رسيدن به اهدافی خواهد بود که بر اساس آن برنامه طراحی و پياده سازی شده است . دستورالعمل ها ، می بايست با استفاده از يکی از زبانها ی برنامه نويسی نوشته شده ( کد ينگ ) و در ادامه در اختيار کامپيوتر قرار داده شوند. زبانهای برنامه نويسی متعددی نظير : فرترن ، بيسيک ، کوبال ، پاسکال، ،C ، جاوا ، ويژوال بيسيک و ... وجود دارد.
برنامه نويسی کامپيوتر ، مشابه آموزش گره زدن کفش به کودکان است . برای نيل به هدف فوق ، می بايست تمامی مراحل لازم بصورت شفاف به کودکان آموزش داده شود . کودکان با دنبال نمودن دستورالعمل های ارائه شده ، قادر به گره زدن کفش خود خواهند بود ( روش انجام اين کار برای آنان مشخص شده و بر اساس آن ، امکان نيل به هدف مورد نظر توسط کودکان فراهم می گردد ) . VB.NET ، زبانی است که می توا ن نحوه نيل به يک خواسته را بکمک آن بصورت شفاف ( نظير آموزش گره زدن کفش به کودکان ) مشخص و کامپيوتر با دنبال نمودن مراحل مشخص شده ، خواسته مورد نظر را محقق نمايد. با استفاده از VB.NET ، می توان محصولاتی راايجاد که زمينه استفاده از آنان در محيط ويندوز و اينترنت ، وجود خواهد داشت . فراموش نکنيم در زمان فراگيری يک تکنولوژی در ابتدا می بايست شيوه راه رفتن را بياموزيم و در ادامه اقدام به دويدن نمود .
VB.NET يکی از زبان های حمايت شده در دات نت می باشد . با استفاده از زبان فوق علاوه بر اينکه می توان برنامه های مبتنی بر ويندوز را پياده سازی نمود ، امکان استفاده از آن بعنوان زبان مورد نظر در زمان ايجاد برنامه های مبتنی بر وب که از تکنولوژی ASP.NET استفاده می نمايند ، نيز وجود خواهد داشت . با توجه به اهميت و جايگاه خاص اين زبان در دات نت ، مجموعه مقالاتی در رابطه با آموزش اصولی اين زبان آماده شده که بتدريج بر روی سايت قرار خواهند گرفت . در اولين مقاله از اين مجموعه به معرفی اوليه VB.NET خواهيم پرداخت . در ابتدا لازم است با ويژگی های منحصر بفرد برنامه های مبتنی بر ويندوز در قياس با برنامه های مبتنی بر DOS ، آشنا شده و پس از مروری مختصر به روند شکل گيری نسخه های متعدد ويژوال بيسيک ، با نحوه نصب آن نيز آشنا شويم .
برنامه نويسی مبتنی بر DOS در مقابل ويندوز
برنامه نويسی مبتنی بر ويندوز دارای تفاوت های عمده ای نسبت به برنامه نويسی سنتی در محيط DOS است.برنامه های DOS ، مسيری دقيق و مشخص را ازابتدا تا پايان دنبال می نمايند . رويکرد فوق ، باعث بروز محدوديت هائی در رابطه با عملکرد برنامه ها از يکطرف و تحميل محدوديت هائی به کاربران در طی نمودن مسير مشخص شده ، می گردد. از زاويه ای خاص می توان عملکرد يک برنامه مبتنی بر DOS را مشابه قدم زدن در يک راهرو ( سالن )، در نظر گرفت . بمنظور رسيدن به نقطه انتهائی سالن ، می بايست طول سالن طی تا به انتهای آن رسيد . در اين راستا از موانع متعدد موجود در مسير ، می بايست عبور تا سرانجام به مقصد مورد نظر رسيد . در زمان پيمودن مسير ، صرفا" امکان بازنمودن درب های خاصی ، وجود خواهد داشت . ويندوز ، دنيای جديدی از برنامه نويسی مبتنی بر "رويداد" را ايجاد نموده است . کليک نمودن موس ، تغيير اندازه پنجره ، تغيير محتويات يک Textbox ، نمونه هائی از يک "رويداد" می باشند. کدهای نوشته شده ، نحوه برخورد با يک رويداد را مشخص می نمايد. برای رسيدن به انتهای يک سالن کافی است بر روی "انتهای سالن " ، کليک نمود و ديگر ضرورتی به پيمودن تمامی مسير تا رسيدن به انتهای سالن نخواهد بود . درصورتيکه به انتهای سالن رسيده باشيم و متوجه گرديم که اين مکان ، محلی نيست که انتظار آن را داشته ايم ، بسادگی می توان مقصد جديدی را برای خود انتخاب ، بدون اينکه ضرورتی به برگشت در نقطه آغازين مسير وجود داشته باشد. برنامه نوشته شده عکس العمل های لازم در ارتباط با حرکت شما را بهمراه عمليات مربوطه بمنظور تکميل فعاليت ها ی مورد نظر انجام خواهد داد . با استفاده از VB.NET ، می توان کدهای لازم بمنظور ارائه عکس العمل لازم در زمان تحقق يک رويداد را نوشت .در اين راستا ، برنامه نويسان می توانند کدهای لازم در رابطه با رويدادهائی که امکان تحقق آنها وجود دارد را نوشته تا در زمان بروز رويداد مورد نظر ، عکس العمل لازم از طرف برنامه صورت پذيرد.در اين زمينه می توان از نوشتن کدهای ديگر بمنظور برخورد با رويدادهای غيرضروری ، صرفنظر کرد. مثلا" ويندوز قادر به تشخيص رويداد"کليک " از "کليک مضاعف " است . اين بدان معنی است که اگر می خواهيد برنامه مورد نظر شما ،عکس العمل لازم در ارتباط با رويداد "کليک" را داشته باشد ، می بايست صرفا" کد مربوط به رويداد " کليک"، نوشته گردد و الزامی به نوشتن کدهای لازم بمنظور برخورد با رويداد "کليک مضاعف" ، وجود نخواهد داشت . در دنيای برنامه نويسی DOS ، کاربر عکس العمل لازم را نسبت به برنامه انجام می دهد در صورتيکه در ويندوز ، برنامه ها عکس العمل لازم را با توجه به رفتار کاربران ، انجام خواهند داد .
يکی ديگر از مزايای مهم برنامه های ويندوز ، عدم وابستگی برنامه ها به يک سخت افزار خاص است . ويندوز تمهيدات لازم در خصوص ارتباط با سخت افزار را پيش بينی و برنامه نويسان نياز به آگاهی از نحوه عملکرد يک دستگاه سخت افزاری خاص بمنظور استفاده از آن ، نخواهند داشت . مثلا" برنامه نويسان ضرورتی به آگاهی از نحوه عملکرد هر نوع چاپگر ليزری، بمنظور ايجاد خروجی مورد نظر خود در برنامه ها ، نخواهند داشت. ويندوز، امکانات لازم در اين خصوص را از طريق ارائه روتين های عمومی که با درايورهای مورد نظر مرتبط می گردند ، فراهم می نمايد. شايد همين موضوع دليل موفقيت ويندوز باشد .
روتين های عمومی اصطلاحا" Windows (API ) Application Programming Interface ناميده می شوند .
تاريخچه ويژوال بيسيک
قبل از معرفی ويژوال بيسيک در سال 1991 ، پياده کنندگان نرم افزار مجبور به تسلط و مهارت در زمينه استفاده از ++C بهمراه موارد پيچيده ای در اين خصوص بودند . بدين ترتيب ، صرفا" افراد خاص آموزش ديده، قادر به خلق نرم افزارهای قدرتمند بمنظور اجراء در محيط ويندوز بودند. ويژوال بيسيک ، محدوديت فوق را تغيير و می توان اين ادعا را داشت که امروزه خطوط زيادی از برنامه های نوشته شده با استفاده از ويژوال بيسيک کد شده است . ويژوال بيسيک ، ظاهر برنامه نويسی تحت ويندوز را با حذف عمليات اضافی برای نوشتن کدهای لازم جهت طراحی بخش رابط کاربر (UI) ، تغيير داده است . در اين راستا ، زمانيکه بخش رابط کاربر ، ترسيم می گردد ، برنامه نويس می تواند کدهای لازم بمنظور انجام عکس العمل مناسب در رابطه با رويداد ها را به آن اضافه نمايد . زمانيکه ماکروسافت نسخه شماره سه ويژوال بيسيک را ارائه نمود ، مجددا" دنيای برنامه نويسی با تغيير مهمی مواجه گرديد. در اين راستا امکانات مناسبی برای نوشتن برنامه های مبتنی بر بانک های اطلاعاتی ، در اختيار برنامه نويسان قرار گرفت. ماکروسافت بدين منظور محصول جديدی با نام DAO)Data Access Objects) را ارائه نمود . برنامه نويسان با استفاده از DAO ، امکان انجام عمليات متفاوت در رابطه با داده ها را ، بدست آوردند . نسخه های شماره چهار و پنج ، قابليت های نسخه سه را افزايش و اين امکان را برای پياده کنندگان نرم افزار فراهم نمود تا برنامه های خود را جهت اجراء در محيط ويندوز 95 ، طراحی و پياده سازی نمايند . در اين زمينه ، برنامه نويسان قادر به نوشتن کدهائی گرديدند که امکان استفاده از آنان توسط ساير پياده کنندگان نرم افزار که از زبانی ديگر استفاده می کردند، فراهم گرديد. نسخه شماره شش ويژوال بيسيک ، روش جديدی بمنظور دستيابی به بانک های اطلاعاتی را ارائه نمود: ADO)ActiveX Data Objects ) . يکی از اهداف اوليه طراحی ADO ، امکان دستيابی به بانک های اطلاعاتی برای پياده کنندگان برنامه های مبتنی بر وب است که از تکنولوژی ASP ، استفاده می نمايند.
همزمان با ارائه جديدترين نسخه ويژوال بيسيک که VB.NET ناميده می شود ، بسياری از محدوديت های مرتبط با ويژوال بيسيک برطرف گرديد . در گذشته ويژوال بيسيک با انتفادات فراوان مواجه ( عدم وجود امکانات مناسب در مقايسه با جاوا و يا ++C ) و بسياری آن را نظير يک اسباب بازی در دنيای وسيع زبان های برنامه نويسی می پنداشتند. VB.NET با غلبه بر مشکلات نسخه های پيشين ، توانسته است در مدت زمان کوتاهی ، بعنوان يک ابزار پياده سازی بسيار قدرتمند مطرح و گزينه ای مناسب برای برنامه نويسان در تمامی سطوح باشد .
نصب VB.NET
برای نصب VB.NET ، از دو رويکرد متفاوت می توان استفاده کرد :
• نصب بهمراه ويژوال استوديو دات نت
• نصب نسخه استاندارد
هر يک از گزينه های فوق ، امکان ايجاد برنامه های مبتنی بر ويندوز را فراهم می نمايند . مراحلی که در ادامه ذکر می گردد ، نحوه نصب ويژوال استوديو را تشريح می نمايد .
مرحله اول : برنامه Setup.exe را از روی CD مربوطه فعال نمائيد.
مرحله دوم : جعبه محاوره ای ، مراحل و اولويت های عمليات نصب را نشان خواهد داد. بمنظور صحت عملکرد VB.NET ، چندين Component نصب و يا بهنگام خواهند شد . اولين مرحله نصب، بهنگام سازی عناصر (Components) است . بر روی گزينه Windows Component Update ، کليک نمائيد.
مرحله سوم : برنامه نصب در ادامه سيستم را بررسی تا نوع عناصری را که می بايست بهنگام گردند، مشخص گردد. دامنه فرآيند بهنگام سازی به وضعيت ماشينی که بر روی آن ويژوال استوديو دات نت نصب می گردد، بستگی خواهد داشت .
مرحله چهارم : با توجه به اينکه ممکن است در زمان بهنگام سازی لازم باشد چندين مرتبه سيستم راه اندازی گردد ، از شما درخواست نام و رمز عبور شده تا ضرورتی به نشستن و نگاه کردن به کامپيوتر و واکنش لازم ( درج نام و رمز عبور به سيستم ) پس از هر مرتبه راه اندازی سيستم نباشد . بدين ترتيب در زمان راه انداری سيستم ، عمليات مربوطه بصورت اتوماتيک و بدون نياز به تايپ نام و رمز عبور ، انجام خواهد شد . عمليات فوق ، اختياری است و در صورتيکه گزينه فوق انتخاب نگردد ، با هر مرتبه راه اندازی سيستم، پيام مناسب ارائه و می بايست واکنش لازم ( تايپ نام و رمز عبور) را انجام داد .
مرحله پنجم : در اين مرحله با فشردن دکمه ! Install Now ، بهنگام سازی عناصر (Components) آغاز می گردد . با اتمام هر يک از آيتم ها يک Check mark بمنزله اتمام مرحله مربوطه نشان داده می شود . در مقابل عنصر جاری برای بهنگام سازی نيز يک فلش قرمز رنگ نسان داده می شود.
مرحله ششم : پس از بهنگام سازی عناصر ، مجددا" به صفحه اصلی Setup مراجعت و امکان نصب ويژوال استوديو دات نت فراهم می گردد.( کليک نمودن برروی گزينه Visiual Studio.NET )
نکته : در صورتيکه قصد داريد که از طريق ماشين فوق ، يک برنامه تحت وب پياده سازی نمائيد ، لازم است IIS و FrontPage Extensions قبلا" نصب شده باشد( بصورت پيش فرض در زمان نصب ويندوز 2000 نصب خواهد شد ) در صورتيکه ويژوال استوديو دات نت ، بر روی کامپيوتری نصب می گردد که دارای سيستم عامل ويندوز 2000 نسخه Professional است ، با يک پيام خطاء مواجه خواهيم شد( عدم وجود عناصر لازم ) با فشردن دکمه Install Component ، عمليات نصب IIS و Frontpage Extensions انجام خواهد شد . در صورتيکه دکمه Continue ، انتخاب گردد ، در آينده نمی توانيد برنامه های تحت وب را بصورت محلی بر روی کامپيوتر خود پياده سازی نمائيد .
مرحله هفتم : نظير اکثر برنامه های نصب ، ليستی از گزينه های موجود ( شامل عناصر ) برای نصب در اختيار شما قرار می گيرد . شما می توانيد ، صرفا" آنچيزی را که بدان نياز داريد ، نصب نمائيد . مثلا" در صورتيکه ظرفيت درايو شما پايين و يا ضرورتی به استفاده از ويژوال ++C دات نت را نداريد ، می توان در اين مرحله از نصب آن صرفنظر کرد. هر گزينه ای که در اين مرحله انتخاب نمی گردد ، می توان در صورت ضرورت آن را در آينده نصب کرد. برای هر يک از امکاناتی که قرار است نصب گردند ، سه بخش اطلاعاتی متفاوت نمايش داده می شود :
بخش Feature Properties . فايل ها ی مورد نظر برای نصب و ميزان فضای مورد نياز را نشان می دهد .
بخش Feature description . هر Feature چيست و چه عملياتی را انجام می دهد .
بخش Space Allocation ، وضعيت فضای ذخيره سازی هارد را با توجه به گزينه های انتخاب شده ، نشان خواهد داد .
نکته : زمانيکه ويژوال استوديو دات نت ، اجراء می گردد مجموعه ای از اطلاعات بين ديسک و حافظه مبادله می گردد . بنابراين لازم است به ميزان کافی ظرفيت آزاد بر روی هارد ديسک وجود داشته باشد ، در اين راستا نمی توان دقيقا" مشخص نمود که به چه ميزان فضای آزاد نياز خواهد بود ولی حداقل يکصد مگابايت توصيه می گردد .
مرحله هشتم : ويژوال استوديو دات نت ، شامل مجموعه ای گسترده از فايل های مستندات ( راهنما ) است . در اين مرحله می توان تنظيمات لازم در خصوص اجرای مستندات از طريق CD و يا دايرکتوری نصب شده بر روی هارد را انجام داد . در اين زمينه می توان يک مسير بر روی هارد را مشخص تا مستندات نصب و يا گزينه Run From Source را انتخاب تا بر اساس آن مستندات همچنان بر روی CD باقی بمانند .
مرحله نهم : پس از انتخاب عناصر مورد نظر برای نصب ، با فشردن دکمه ! Install Now ، عمليات نصب آغاز می گردد . مدت زمان نصب ، بستگی به موارد انتخابی و نوع سيستم دارد . مثلا" نصب تمام ويژوال استوديو دات نت بهمراه تمامی مستندات بر روی يک ماشين با دارا بودن 256 مگابايت حافظه اصلی، سرعت 650 مگاهرتز و دوازده گيگابايـت هارد ديسک ، حدود يک ساعت طول خواهد کشيد .
مرحله دهم : پس از اتمام مرحله قبل ، با انتخاب گزينه Service Release ، بررسی لازم در خصوص بهنگام سازی انجام می گيرد . اين عمليات از طريق اينترنت انجام خواهد شد . در اين زمينه به يک خط پرسرعت و مطمئن نياز خواهد بود

TAHA
10-30-2009, 12:06 AM
آموزش VB.NET (بخش دوم)





آشنايی با Visual Basic.NET- متغيرها
متغيرها حاملهای دربرگيرنده مقاديری هستند که در جريان يک برنامه کاربردی می توانند تغيير کنند. برنامه نويسی بدون آنها، اگر نگوئيم غيرممکن، اما به سختی امکان پذير است. در ASP.NET، متغيرها در چند لايه وجود دارند.
لايه اول، لايه Application است. در اينجا در هر صفحه برنامه کاربردی، همه متغيرها در دسترس همه کاربران قرار دارد. معمولا يک قطعه داده نسبتا کوچک که در معرض استفاده مکرر است، همانند اطلاعات مربوط به ارتباط با بانک اطلاعاتی، در اين لايه ذخيره می شود.
لايه دوم، لايه Session است. در اين لايه، همه متغيرها در سرتاسر برنامه کاربردی يا تا برقرار بودن جلسه کاربر، در دسترس يک کاربر بخصوص هستند.
لايه سوم و آخر، لايه Page است. در اينجا همه متغيرهای تعريف شده در صفحه در سرتاسر آن صفحه در دسترس هستند. متغيرهای تعريف شده در يک صفحه ASP.NET از صفحه ديگر قابل دستيابی نيستند.
به علاوه در زمان استفاده از code-behindها در صفحات ASP.NET، در پيمانه های کلاس خود به متغيرهای سطح Procedure ،Private ،Public و Block دسترسی داريد. متغيرهای عمومی در کلاس هايی که در آنها ايجاد شده اند و نيز پيمانه های کلاس ديگر قابل دسترسی هستند. جلوی اين متغيرها کلمه کليدی Public قرار می گيرد. متغيرهای خصوصی تنها در دسترس توابع و روال های کلاس هايی هستند که در آنها تعريف شده اند.
قبل از متغيرهای خصوصی کلمه کليدی Private قرار می گيرد. متغيرهای سطح Block تنها در بلوک های برنامه ايجاد کننده خود در دسترس می باشند. قبل از متغيرهای سطح Procedure و Block کلمه کليدی Dim قرار می گيرد.
نکته حائز اهميت اين است که بايد به خاطر بسپاريم که هميشه بايد نوع داده های متغير خود را تعريف کنيم. در زير ليستی از انواع داده های پشتيبانی شده در VB.NET آورده شده است.
Boolean: درست يا نادرست
Byte: برای داده های عددی 0 تا 255
Char: برای يک کاراکتر يونيکد
Date: اطلاعات تاريخ و زمان
Decimal: اطلاعات عددی صحيح
Double: داده های عددی اعشاری
Integer, Long, Short, Single: داده های عددی صحيح
Object: متغير حامل پيش فرض جهت نگهداری هر نوع شئ
String: رشته های حرفي
در نگارشهای قبلی ويژوال بيسيک و در VBScript همه متغيرها بطور پيش فرض از نوع داده variant بودند. Variant در VB.NET وجود ندارد و با نوع داده Object جايگزين شده است.

TAHA
10-30-2009, 12:07 AM
آموزش VB.NET (بخش سوم)




انواع داده ای در Visual Basic.NET
برای تعريف يک متغير در ويژوال بيسيک دات نت از عبارت Dim استفاده می شود. برای مثال چمله زير يک متغير جديد به نام myVar تعريف می کند:
Dim myVar
هنگامی که يک متغير مانند فوق بدون در نظر گرفتن نوع آن تعريف شود، آن متغير بعنوان يک شئ (Object) در نظر گرفته می شود. يک متغير از نوع شئ در دات نت می تواند شامل انواع داده از قبيل رشته، عدد يا انواع پيچيده تر مانند کلاس باشد.
اغلب نيازی نيست که از متغيرهای از نوع شئ در برنامه استفاده شود چرا که اين متغيرها باعث کاهش کارآيی و سرعت برنامه می شود. هنگامی که از يک متغير از نوع شئ استفاده شود، نوع مناسب آن متغير در زمان اجرا تشخيص داده می شود و اين باعث کندی می شود. بنابراين بهتر است که نوع داده را از ابتدا مشخص کنيم.
جهت مشخص نمودن نوع داده از کلمه کليدی As استفاده می کنيم. بعنوان مثال يک متغير از نوع رشته بصورت زير تعريف می شود:
Dim myVar As String
مجموعه دات نت انواع داده ای زير را پشتيبانی می کند:
• Boolean: جهت مقادير درست يا نادرست
• Byte: جهت مقادير صحيح صفر تا ۲۵۵ (تنها مقادير مثبت)
• Char: جهت مقادير نويسه ها يا حروف يونيکد
• Date: جهت مقادير تاريخ و زمان بين اول ژانويه ۰۰۰۱ و ۳۱ دسامبر ۹۹۹۹
• Decimal: جهت مقادير صحيح بين صفر و مثبت و منفی ۷۹,۲۲۸,۱۶۲,۵۱۴,۲۶۴,۳۳۷,۵۹۳,۵ ۳,۹۵۰ ,۳۳۵ (۱۶ بايت)
• Double: جهت مقادير اعشاری با دقت مضاعف
• Integre: جهت مقادير صحيح بين +۲,۱۴۷,۴۸۳,۶۴۷ و -۲,۱۴۷,۴۸۳,۶۴۸ (۴ بايت)
• Long: جهت مقادير صحيح بين -۹,۲۲۳,۳۷۲,۰۳۶,۸۵۴,۷۷۵,۸۰۸ و +۹,۲۲۳,۳۷۲,۰۳۶,۸۵۴,۷۷۵,۸۰۷ (۸ بايت)
• Short: جهت مقادير صحيح بين -۳۲,۷۶۸ و +۳۲,۷۶۷ (۲ بايت)
• Single: جهت مقادير اعشاری با دقت واحد
• String: جهت مقادير رشته ای با تعداد حروف صفر تا دو ميليارد حرف
پر کاربردترين انواع داده ای عبارتند از Integer، Decimal، Date، Boolean و String.
دقت کنيد که نوع داده ای Currency يا Money برای مقادير پولی در نظر گرفته نشده است و شما می توانيد برای مقادير پولی از نوع Decimal استفاده کنيد.

TAHA
10-30-2009, 12:07 AM
آموزش VB.NET (بخش چهارم)





ساختارهای شرطی در Visual Basic.NET
اين گفتار برآنيم تا ساختارهای شرطی در ويژوال بيسيک دات نت را بررسی کنيم. اين ساختارها If..Then و Select..Case می باشند.
ساختار If..Then
ابتدائی ترين ساختار شرطی در ويژوال بيسيک دات نت ساختار If..Then می باشد. با استفاده از اين ساختار هنگامی که شرط مورد نظر برقرار باشد، می توان دستور يا دستورات متعددی را اجرا نمود.
بعنوان مثال در برنامه زير اگر زمان سيستم بعد از ظهر را نشان دهد، جمله "Good Evening IranASP.NET" بر روی صفحه نمايش داده می شود.
<%
Dim myTime As DateTime
myTime = Now

if Hour(myTime) >= 12 then
Response.write ("Good Evening IranASP.NET !")
end if
%>
همچنين ساختار If..Then عبارت Else را هم پشتيبانی می کند. اگر شرط مربوط به If برقرار نباشد، دستورات موجود در قسمت Else اجرا می شوند. به مثال زير توجه فرمائيد.
<%
Dim myTime As DateTime
myTime = Now

if Hour(myTime) >= 12 then
Response.write ("Good Evening IranASP.NET !")
else
Response.write ("Good Morning IranASP.NET !")
end if

%>
ساختار Select..Case
در ساختار Select..Case می توان مقداری را با مقادير مختلفی مقايسه کرده و دستورات مربوط به مقدار يافت شده را اجرا نمود. بعنوان مثال قطعه برنامه زير پيامهای مختلفی را برحسب نوع مرورگر نمايش می دهد.
<%
Dim strBrowser As String

strBrowser = Request.Browser.Browser
Select Case strBrowser
Case "IE"
Response.Write( "You are using Internet Explorer!" )
Case "Netscape"
Response.WRite( "You are using Netscape!" )
Case Else
Response.Write( "What browser are you using?" )
End Select
%>
دقت داشته باشيد که ساختار Select..Case در برنامه فوق دارای يک قسمت Case Else می باشد. هرگاه هيچ يک از حالات مقايسه ای برقرار نبود، دستورات موجود در قسمت Case Else اجرا می گردند. استفاده از Case Else اختياری است.

TAHA
10-30-2009, 12:07 AM
آموزش VB.NET (بخش پنجم)





دمتغيرهای ايستا در ASP.NET
ر ASP همواره از شئ Application برای ذخيره متغيرهای سراسری استفاده می شد. اين عمل از لحاظ اختصاص فضای حافظه چندان مناسب نبود. در دات نت می توانيم با سود بردن از خواص متغيرهای ايستا در اکثر موارد نتيجه بهتری بدست آوريم. اين روش در اکثر موارد سريعتر از استفاده از شئ Application خواهد بود.
در دات نت اکثر اشياء به صورت کلاس در نظر گرفته می شوند که فايل global.asax نيز از اين قائده پيروی می کند. برای استفاده از اين روش در ابتدا بايد به اين فايل نام يک کلا س را اختصاص دهيم. دقت کنيد که هميشه سعی می کنيم در نامگذاری از اسامی که راهنمای ما باشند استفاده کنيم. برای مثال در اينجا از نام myglobal استفاده می کنيم. به منظور انجام اين کار از کد زير استفاده می شود.
< %@ Application Classname="MyGlobals" %>
سپس با استفاده از تگ Script متغيرهای خود را تعريف می نماييم. دقت کنيد که بايد از کلمات کليدی Public و Shared هم استفاده نماييد.


< Script language="vb" runat="server ">
Public Shared sAli as String = "This is just a test"
< /Script>




با کد بالا ما متغير خود را به نام sAli تعريف نموديم. حال با استفاده از نام کلاس و اين نام می توا نيم آن را در تمام صفحات خود به صورت مستقيم صدا کنيم.

x = MyGlobals.sAli
کدهای نمونه را می توانيد مشاهده کنيد.
< %@ Application Classname="MyGlobals" %>

< Script language="vb" runat="server" >

Public Shared sGreeting as String = " This is just a test"

< /Script >
< % @Page Language="VB" % >

< HEAD >
< script Language='vb' runat=server >
Private Sub Page_Load( ByVal sender As System.Object, ByVal e As System.EventArgs ) Handles MyBase.Load
Label1.Text = MyGlobals.sGreeting
End Sub
< /script >
< /HEAD >

< asp:label runat=server id=Label1 >< /asp:label >
< / body>
< /HTML >

تا جلسه بعد...

TAHA
10-30-2009, 12:08 AM
آموزش VB.NET (بخش ششم)





بررسی اعتبار داده ها توسط VB.NET در فرم های وب
فريم ورک دات نت ، شامل مجموعه ای از کنترل های لازم بمنظور بررسی اعتبار و صحت داده های ورودی است که با استفاده از آنان در فرم های وب و ASP.NET ، می توان داده ورودی توسط کاربر در هر يک از فيلدهای موجود بر روی يک فرم وب را بررسی و در صورت عدم رعايت شرايط لازم ، پيام خطاء مناسبی را ارائه نمود. در اين مقاله به تشريح نحوه استفاده از کنترل های صحت داده ، خواهيم پرداخت .
کنترل های سرويس دهنده اعتبار داده
کنترل های سرويس دهنده اعتبار داده ، امکان بررسی صحت داده مرتبط با يک کنترل سرويس دهنده ورودی نظير يک TextBox را فراهم و در صورتيکه ماحصل بررسی بعمل آمده ، مثبت نباشد ، يک پيام خطاء نمايش داده خواهد شد. هر يک از کنترل های اعتبار داده ، عمليات خاصی را در ارتباط با بررسی صحت داده ها انجام خواهند داد . مثلا" می توان با استفاده از CompareValidator ، عمليات بررسی صحت داده ها را در ارتباط با يک مقدار خاص انجام و يا با استفاده از کنترل RangeValidator يک محدوده قابل قبول از مقادير مورد نظر در ارتباط با يک فيلد ورود اطلاعات را انجام داد. در چنين مواردی ، حتی می توان با استفادده از کنترل CustomValidator ، شرايط خاص مورد نظر خود برای بررسی صحت داده ، تعريف و ايجاد نمود. با توجه به اينکه ، پيام خطاء در کنترل اعتبار داده نمايش داده می شود، می توان مکان مورد نظر برای نمايش پيام خطاء را نيز مشخص کرد . در اين راستا ، همچنين می توان با استفاده از کنترل ValidationSummery ، خلاصه ای از نتايج تمامی کنترل های بررسی صحت داده ها را نمايش داد .
عمليات بررسی صحت داده در يک صفحه زمانی محقق خواهد شد که يک کنترل Button نظير Button,ImageButton و يا LinkButton کليک گردد . در اين رابطه می توان با مقدار دهی False به خصلت CausesValidation ، باعث ممانعت در رابطه با بررسی صحت داده گرديد . روش فوق ، در مواردی نظير فشردن يک دکمه Cancel و يا Clear استفاده می گردد ( در چنين مواردی عملا" ما قصد بررسی صحت داده را نخواهيم داشت ) . مقدار خصلت فوق ، بصورت پيش فرض در ارتباط با يک Button از نوع Cancel و يا Clear مقدار False در نظر گرفته خواهد شد .
در نمونه مثالی که در ادامه تشريح و به بررسی آن خواهيم پرداخت از چهار کنترل اعتبار داده استفاده شده است که لازم است در ابتدا مختصرا" با عملکرد هر يک از آنان آشنا شويم .
•RequiredFieldValidator . کنترل فوق ، مقدار يک کنترل ورودی را بمنظور حصول اطمينان از درج داده در فيلد مورد نظر توسط کاربر ، بررسی می نمايد . در صورتيکه مقدار مشخص شده در فيلد مورد نظر نسبت به مقدار اوليه خود تغيير نکرده باشد ،بمنزله عدم صحت و اعتبار داده بوده و نشان دهنده اين موضوع است که کاربر در فيلد مربوطه داده مورد نظر را وارد ننموده است . در حقيقت در چنين شرايطی الزامی برای درج داده در ارتباط با يک کنترل ورودی بوجود آمده و کاربر نمی تواند فيلد مربوطه را بدون اعمال تغييرات ( درج داده ) رها نموده و نسبت به آن بی تفاوت باشد . مقدار پيش فرض، يک رشته خالی ( "" ) بوده و نشاندهنده اين واقعيت است که می بايست مقداری در آن درج تا در آزمون بررسی صحت داده موفقيت حاصل گردد . در اين رابطه فضاء خالی اضافه شده در ابتدا و انتهای کنترل ورودی حذف و در ادامه عمليات بررسی صحت داده انجام خواهد شد . بدين ترتيب از درج فضای خالی در کنترل ورودی برای بررسی صحت داده ممانعت بعمل می آيد . در برخی موارد لازم است که در مقابل مقدار پيش فرض (رشته خالی) برای يک کنترل ورودی از مقدار اوليه مورد نظر خود استفاده نمائيم ( با توجه به سياست های طراحی بخش رابط کاربر ) . استفاده از روش فوق ، در مواردیکه دارای يک مقدار پيش فرض در ارتباط با يک کنترل ورودی بوده و قصد داريم که کاربر را ملزم به انتخاب يک مقدار ديگر نمائيم ، توصيه می گردد . مثلا" می توان از يک کنترل ListBox بهمراه يک Entry انتخاب شده بصورت پيش فرض که شامل دستورالعمل هائی برای کاربر بمنظور انتخاب يک آيتم از ليست است ، استفاده نمود . در چنين مواردی لازم است که کاربر يک آيتم ديگر موجود در ليست را از طريق کنترل انتخاب و در اين رابطه نمی بايست کاربر آيتمی را انتخاب نمايد که شامل دستورالعمل است . بدين ترتيب در صورتيکه کاربر همان مقدار اوليه پيش فرض را انتخاب نمايد ، کنترل RequiredFieldValidator ، پيام خطاء مورد نظر خود را نمايش خواهد داد . بمنظور مشخص نمودن مقدار اوليه يک کنترل ورودی، می توان از خصلت InitialValue استفاده کرد.
با توجه به سياست های طراحی رابط کاربر ، می توان از چندين Validator در ارتباط با يک کنترل ورودی مشابه و يکسان استفاده نمود. مثلا" می توان از يک کنترل RequiredFieldValidator ، بمنظور حصول اطمينان از درج داده در کنترل مورد نظر استفاده و در همان حال از کنترل ديگری نظير RangeValidator نيز استفاده تا اين اطمينان ايجاد گردد که ورودی درج شده در کنترل مورد نظر در محدوده قابل قبول و مجاز می باشد .
•کنترل ValidationSummary . کنترل فوق ، امکان ارائه اطلاعات مختصر در رابطه با تمامی کنترل های بررسی صحت داده موجود در يک صفحه وب و در يک موفقعيت ( مکان ) را فراهم می نمايد. خلاصه اطلاعات موردنظر را می توان با استفاده از روش های متفاوتی نظير : يک پاراگراف ، يک ليست و يا يک Bulleted list . ارائه نمود. نحوه نمايش اطلاعات با استفاده از خصلت DisplayMode مشخص خواهد شد .پيام خطاء نمايش داده شده در کنترل ValidationSummary برای هر يک از کنترل های بررسی صحت داده موجود در صفحه ، توسط خصلت ErrorMessage مربوط به هر يک از کنترل ها ، مشخص می گردد . در صورتيکه خصلت ErrorMessage مربوط به کنترل بررسی صحت داده ، مقداردهی نگردد، هيچگونه پيام خطائی در ارتباط با آن کنترل خاص توسط کنترل ValidationSummary نمايش داده نخواهد شد. برای مشخص نمودن عنوان گزارش خطاء، می توان از خصلت HeaderText استفاده کرد. بمنظور کنترل نمايش اطلاعات کنترل ValidationSummary ، می توان از خصلت ShowSummary استفاده نمود . برای نمايش خلاصه اطلاعات مورد نظر در يک Message Box می توان مقدار خصلت ShowMessageBox را True در نظر گرفت .
•کنترل RegularExpressinoValidator . کنترل فوق ، بمنظور تطبيق داده ورودی در يک کنترل ورودی با يک الگوی تعريف شده توسط يک عبارت ، استفاده می گردد . کنترل فوق ، امکان بررسی لازم در خصوص دنباله کاراکترهای مورد انتظار نظير آدرس های پست الکترونيکی ، شماره های تلفن و يا کد پستی را فراهم می نمايد . با استفاده از خصلت ValidationExpression ، عبارت مورد نظر بمنظور بررسی صحت داده کنترل ورودی، تعريف و مشخص می گردد . گرامر عبارت بررسی صحت داده بر روی سرويس گيرنده و سرويس دهنده با يکديگر متفاوت است . در سرويس گيرنده ، بمنظور مشخص نمودن عبارت مورد نظر از گرامر Jscript و بر روی سرويس دهنده از گرامر Regex استفاده می گردد . با توجه به اينکه، گرامرعبارات Jscript زير مجموعه ای از گرامر Regex می باشد ، توصيه می گردد از گرامر Jscript برای تعريف عبارت مورد نظر خود استفاده تا شاهد نتايج يکسانی بر روی سرويس گيرنده و سرويس دهنده باشيم .
•کنترل CompareValidator . کنترل فوق، مقدار ورودی در يک کنترل ورودی را با مقدار ديگر مقايسه می نمايد . از خصلت ControlToValidate برای مشخص نمودن کنترل ورودی اول و از خصلت ControlToCompare برای مشخص نمودن کنترل ورودی دوم که می بايست با يکديگر مقايسه گردند ، استفاده می شود .درصورتيکه ماحصل مقايسه يکسان باشد، از مقدار مشخص شده توسط خصلت ControlToCompare ، استفاده می گردد .
استفاده از کنترل های اعتبار داده ASP.NET توسط ويژوال استوديو دات نت
بررسی صحت داده ورودی توسط کاربر در بخش رابط کاربر هر نرم افزار ، از جمله عملياتی است که اولا" وقت زيادی را بخود اختصاص و ثانيا" در برخی موارد چالش های خاص خود را بدنبال خواهد داشت . فريمورک دات نت در اين رابطه مجموعه ای از کنترل های بررسی صحت داده را ارائه که با استفاده از آنان می توان اقدام به بررسی داده در کنترل های ورودی موجود بر روی يک فرم وب و ارائه پيام خطاء مورد نظر در صورت عدم رعايت ضوابط و شرايط موجود توسط کاربر بمنظور ورود اطلاعات نمود.
در ادامه به بررسی مثالی خواهيم پرداخت که با ارائه يک فرم از کاربر درخواست تکميل و ارسال اطلاعات خواهد شد. در اين رابطه از کاربر درخواست نام ، آدرس پست الکترونيکی و رمز عبور می گردد . پس از ارسال اطلاعات توسط کاربر ، کنترل های بررسی صحت و اعتبار داده موجود بر روی فرم ، عمليات تائيد داده ورودی توسط کاربر را انجام و درصورت عدم رعايت ضوابط تعريف شده در ارتباط با هر يک از کنترل های ورودی ، پيام خطائی ،بصورت مختصر و در قسمت انتهائی صفحه نمايش داده خواهد شد.
ايجاد يک برنامه وب ASP.NET با استفاده از VB.NET
بمنظور ايجاد يک برنامه وب ASP.NET با استفاده از VB.NET مراحل زير را دنبال می نمائيم :
• اجرای برنامه ويژوال استوديو دات نت
•از طريق منوی File ، گزينه New و در ادامه Project را انتخاب نمائيد .
• در جعبه محاوره ای New Project ، در بخش Project Types گزينه Visual Bacic Projects را انتخاب ( کليک ) و در ادامه ASP.NET Web Application را انتخاب نمائيد .
•در فيلد Location ، بجای نام پيش فرض #WebApplication ، نام ValidationData را در نظر می گيريم . در صورتيکه از يک سرويس دهنده محلی استفاده می گردد ، می توان نام سرويس دهنده را http://localhost (http://localhost/) در نظر گرفت . بدين ترتيب در فيلد Location ، آدرس مربوطه بصورت زير نشان داده خواهد شد : http://localhost/ValidationData
ايجاد يک فرم وب نمونه
بمنظور ايجاد يک فرم وب در پروژه ايجاد شده در مرحله قبل ، مراحل زير را دنبال می نمائيم :
•اضافه نمودن يک فرم جديد با نام ValidUser.aspx به برنامه وب ASP.NET در ويژوال استوديو دات نت . بمنظور انجام خواسته فوق ، دو مرحله زير را دنبال می نمائيم :
مرحله يک : در Solution Explorer ، بر روی گره Project کليک سمت راست نموده و گزينه Add و در ادامه گزينه Add Web Form انتخاب گردد.
مرحله دو : درفيلد Name ، نام ValidUser.aspx را درج و در ادامه گزينه Open انتخاب گردد .
•در ادامه، کدهای زير را پس از استقرار در پنجره نمايش HTML مربوط به ValidUser.aspx ، بين تگ های شروع و پايان مستقر می نمائيم .


تگ های HTML درج شده در ValidUser.aspx

< table >
< tr width = " 100 " >

نام < /td >
< td > < input id= " txtUserName" type = " text" size = "20" maxlength =" 15" runat= " server" NAME = "txtUserName " > *
< /td >
< /tr >
< tr width= "100" >
< td >

آدرس پست الکترونيکی

< td > < input id= "txtEmail" type= "text" size ="35" maxlength= "30" runat= "server" NAME= " txtEmail" >
( < A >Ino@Srco.ir< /A > )
< /td >
< /tr>
< tr width= "100" >
< td > رمز عبور < /td >
< td > < input id= "txtPassword" type= "password" size ="15" maxlength= "10" runat= "server" NAM E="txtPassword" > *
< /td >
< /tr >
< tr width="100" >
< td > تايپ مجدد رمز عبور < /td >
< td > < input id= "txtConfirmPassword" type= "password" size= "15" maxlength= "10" runat= "server" NAME= "txtConfirmPassword" > *
< /td >
< / tr >
< / table >


• کنترل های RequiredFieldValidator ، بررسی لازم در خصوص داده ورودی برای هر يک از فيلدهای موردنظر در ارتباط با کنترل های مشخص شده را انجام خواهد داد . در اين رابطه کنترل های RequiredFieldValidator را در ارتباط با فيلدهای UserName و Password به فرم اضافه می نمائيم . در ValidUser.aspx ، و پنجره HTML مستقر و کد زير را بعد از تگ < Table/ > اضافه می نمائيم .

< asp :RequiredFieldValidator id= valUserNameRequired
ControlToValidate =txtUserName ErrorMessage = "نام کاربر می بايست وارد شود " EnableClientScript =true Display= None Runat= server/ >
< asp:RequiredFieldValidator id= valPasswordRequired
ControlToValidate=txtPassword ErrorMessage="رمز عبور می بايست وارد شود" EnableClientScript=true Display =None Runat= server/ >
< asp :RequiredFieldValidator id= valConfirmPasswordRequired
ControlToValidate= txtConfirmPassword ErrorMessage= "تائيد مجدد رمز عبور می بايست وارد شود "
EnableClientScript= true Display= None Runat =server/ >


• فيلدهای رمز عبور تاکيد مضاعفی است که کاربر دومرتبه و بدرستی رمز عبور خود را وارد نمايد. کنترل CompareValidator محتويات دو فيلد را با يکديگر مقايسه و در صورت عدم يکسان بودن آنان ، پيام خطائی نمايش داده خواهد شد . در اين رابطه از يک کنترل CompareValidator بمنظور بررسی صحت ( يکسان بودن ) فيلدهای رمز عبور استفاده شده است . بدين منظور پس از استقرار در پنجره HTML مربوط به فرم وب ValidUser.aspx ، کد زير را پس از کنترل های اضافه شده در مرحله قبل ، به فرم مورد نظر اضافه می نمائيم .

< asp :CompareValidator id= valComparePassword
ControlToValidate =txtConfirmPassword ErrorMessage =" فيلدهای رمز عبور می بايست يکسان باشند " ControlToCompare =txtPassword Display =None
EnableClientScript =true Runat =server/ >


• در برخی موارد لازم است از نوع خاصی بررسی صحت و اعتبار داده استفاده گردد . فيلد آدرس پست الکترونيکی در مثال فوق ، نمونه ای در اين زمينه است . در اين رابطه از کنترل RegularExpressionValidator استفاده تا اين اطمينان حاصل گردد که کاربران فرمت اوليه برای درج يک آدرس پست الکترونيکی را رعايت نموده اند . محتويات فيلد فوق مجددا" بر اساس يک عبارت ( تعريف يک الگو ) بررسی شده و در صورتيکه محتويات مورد نظر با عبارت تعريف شده مطابقت نداشته باشد ، يک پيام خطاء نمايش داده خواهد شد. در اين رابطه لازم است که يک کنترل RegularExpressionValidator بر روی فرم اضافه تا فرمت داده آدرس پست الکترونيکی ورودی توسط کاربر را بررسی و از صحت و رعايت فرمت مورد نظر اطمينان حاصل گردد . بدين منظور پس از استقرار در پنجره HTML مربوط به فرم وب ValidUser.aspx ، کد زير را پس از کنترل های اضافه شده در مرحله قبل ، به فرم مورد نظر اضافه می نمائيم .

< asp :RegularExpressionValidator ID= valEmailAddress
ControlToValidate= txtEmail ValidationExpression = ".* @.* \.. *" ErrorMessage = "آدرس پست الکترونيکی درست نمی باشد "
Display =None EnableClientScript =true Runat= server/ >


• در ادامه ، بر روی فرم ValidUser.aspx ، يک دکمه "ارسال" را اضافه می نمائيم .بدين ترتيب به کاربر اجازه داده خواهد شد تا صفحه مورد نظر را برای سرويس دهنده ارسال و عمليات بررسی صحت و اعتبار داده درج شده در هر يک از فيلدهای موجود بر روی فرم ، انجام شود. بدين منظور پس از استقرار در پنجره HTML مربوط به فرم وب ValidUser. aspx ، کد زير را پس از کنترل های اضافه شده در مرحله قبل ، به فرم مورد نظر اضافه می نمائيم .

< br >
< input type = submit id = cmdSumbit value = submit runat =server / >


• در نهايت ، از يک کنترل ValidationSummary بمنظور نمايش تمامی خطاهای بوجود آمده در يک ناحيه خاص بر روی فرم استفاده می شود. بدين منظور پس از استقرار در پنجره HTML مربوط به فرم وب ValidUser.aspx ، کد زير را پس از دکمه "ارسال" اضافه شده در مرحله قبل ، به فرم مورد نظر اضافه می نمائيم .


< br >
< asp :ValidationSummary id= ValSummary HeaderText= " The following
errors were found :" ShowSummary=True DisplayMode=List Runat=server / >


• پس از اتمام مراحل فوق ، با اتتخاب گزينه Save ، فرم وب ايجاد شده ذخيره و در ادامه می توان با استفاده از منوی Debug و گزينه Start ، امکان ايجاد و اجرای برنامه وب را فراهم نمود.
اجرای برنامه
در صورنيکه کاربر دکمه "ارسال" را بدون درج هيچگونه اطلاعاتی در فيلدهای مربوطه ، فعال نمايد ، سه پيام خطاء بصورت زير نمايش داده خواهد شد .
در صورتيکه کاربر، دو رمز عبور را وارد که با يکديگر يکسان نمی باشند ، پيام خطاء زير ارائه خواهد شد .
در صورتيکه کاربر يک آدرس پست الکترونيکی را وارد که دارای فرمت مناسب نباشد ، ، پيام خطاء زير نمايش داده خواهد شد .


تا جلسه بعد.....

TAHA
10-30-2009, 12:09 AM
آموزش VB.NET (بخش هفتم)






دستيابی به بانک اطلاعاتی Access با استفاده از VB.NET
در اين مقاله قصد داريم به نحوه بازيابی و نمايش اطلاعات موجود در يک بانک اطلاعاتی Access اشاره نمائيم . هدف از مقاله فوق ، پرداختن به تمامی رويکردهای موجود در اين زمينه نبوده و صرفا" به معرفی يکی از گزينه های موجود در اين زمينه اشاره خواهد شد. در اين راستا از تکنولوژی های ASP.NET ، ADO.NET و VB.NET استفاده خواهد شد . از کلاس های OleDbConnection ، OleDbCommand و OleDbDataReader مربوط به ADO.NET بمنظور انجام عمليات لازم در ارتباط با بانک اطلاعاتی ، از ASP.NET بمنظور ايجاد فرم وب و ارائه داده با استفاده از کنترل سرويس دهنده Table و از زبان VB.NET بمنظور نوشتن دستورالعمل های مورد نظر استفاده می گردد .
در ابتدا لازم است با سه کلاس ADO.NET که در ادامه از آنان استفاده خواهد شد ، بيشتر آشنا شويم :
•کلاس OleDbConnection . شی فوق ، يک اتصال منحصر بفرد با يک منبع داده را ايجاد می نمايد. در رابطه با يک بانک اطلاعاتی سرويس گيرنده / سرويس دهنده ، اين امر معادل يک اتصال شبکه به سرويس دهنده است . با توجه به قابليت های حمايت شده توسط native OLE DB Provider ، برخی از متدها و يا خصلت ها مربوط به شی OleDbConnection ممکن است در دسترس و قابل استفاده نباشد . زمانيکه نمونه ای از OleDbConnection ايجاد می گردد ، تمامی خصلت های مربوطه ، مقدار اوليه خود را دارا خواهند بود . پس از اتمام عمليات موردنظر در ارتباط با بانک اطلاعاتی ، می بايست با فراخوانی Close و يا Dispose اقدام به غير فعال نمودن اتصال ايجاد شده با بانک اطلاعاتی مربوطه نمود.
•کلاس OleDbCommand . يک عبارت SQL و يا Stored procedure را بمنظور اجراء در رابطه با يک منبع داده ارائه می نمايد. کلاس فوق از متدهای زير بمنظور اجرای دستورات در رابطه با يک منبع داده استفاده می نمايد.
ExecuteReader . متد فوق ، دستوراتی را اجراء می نمايد که خروجی آنان شامل سطرهائی خواهد بود.
ExecuteNonQuery . باعث اجرای دستوراتی نظير SQL INSERT,DELETE,UPDATE و SET خواهد شد .
ExecuteScalar . بازيابی صرفا" يک مقدار از يک بانک اطلاعاتی
• کلاس OleDbDataReader . متد فوق ، امکان خواندن سطرهائی از داده موجود در يک منبع داده را فراهم می نمايد( فقط بسمت جلو) . بمنظور ايجاد يک OleDbDataReader ، می بايست متد ExecuteReader مربوط به شی OleDbCommand فراخوانده شود. ماداميکه OleDbDataReader در حال استفاده است (اتصال مرتبط OleDbConnection ) ، عمليات ديگری را در ارتباط با OleDbConnection نمی توان انجام داد .
امکانات مورد نياز
برای دنبال نمودن اين مقاله و اجرای نمونه مثالی که در ادامه بررسی می گردد ، به امکانات زير نياز خواهد بود :
•نصب يکی از نسخه های ويندوز 2000 و يا نسخه ويندوز 2003
•نصب IIS
• نصب فريمورک دات نت نسخه 1.0 ,يا نسخه 1.1
•يک بانک اطلاعاتی نمونه اکسس نظير Northwind
ايجاد يک برنامه وب ASP.NET با استفاده از VB.NET
بمنظور ايجاد يک برنامه وب ASP.NET با استفاده از VB.NET مراحل زير را دنبال می نمائيم :
• اجرای برنامه ويژوال استوديو دات نت
•از طريق منوی File ، گزينه New و در ادامه Project را انتخاب نمائيد .
• در جعبه محاوره ای New Project ، در بخش Project Types گزينه Visual Bacic Projects را انتخاب ( کليک ) و در ادامه ASP.NET Web Application را انتخاب نمائيد .
• در فيلد Location ، بجای نام پيش فرض #WebApplication ، نام TestAccessDB را انتخاب نمائيد . در صورتيکه از يک سرويس دهنده محلی استفاده میگردد ، می توان نام سرويس دهنده را http://localhost (http://localhost/) در نظر گرفت . بدين ترتيب در فيلد Location ، آدرس مربوطه بصورت زير نشان داده خواهد شد : http://localhost/TestAccessDB

ايجاد يک فرم وب نمونه
در نمونه کد نوشته شده از کنترل سرويس دهنده Table مربوط به ASP.NET استفاده شده که بصورت پويا يک نمايش ساده از داده بازيابی شده را نشان خواهد داد. ASP.NET ، مجموعه متنوعی از کنترل های انعطاف پذير را ارائه که می توان از آنان با توجه به رويکردهای متفاوت در رابطه با نمايش داده استفاده نمود. بمنظور ايجاد يک فرم وب در پروژه ايجاد شده در مرحله قبل ، مراحل زير را دنبال می نمائيم :
• اضافه نمودن يک فرم جديد با نام DataSample.aspx به برنامه وب ASP.NET در ويژوال استوديو دات نت . بمنظور انجام خواسته فوق ، دو مرحله زير را دنبال می نمائيم :
مرحله يک : در Solution Explorer ، بر روی گره Project کليک سمت راست نموده و گزينه Add و در ادامه گزينه Add Web Form انتخاب گردد.
مرحله دو : درفيلد Name ، نام DataSample.aspx را درج و در ادامه گزينه Open انتخاب گردد .
• از طريق Toolbox مربوط به Web Forms Tab ، يک Table ASP.NET Server Control را انتخاب ( Drag ) و بر روی صفحه aspx . مستقر نمائيد ( در حالت Desgin view ) .
• در Properties نام ID را به DisplayTable تغيير دهيد .
•در Solution Explorer ، بر روی صفحه aspx . ، کليک سمت راست نموده و گزينه View Code را انتخاب نمائيد .
•مرجع namespace زير را در بالاترين قسمت فايل کلاس code-behind وارد نمائيد .

Imports System.Data.OleDb
•کد زير را در ارتباط با رويداد Page_load در نظر می گيريم :

Page_Load Event handler
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
استفاده از يک متغير رشته ای بمنظور ذخيره سازی Connectionstring'

Dim connectString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" &_
"Data Source=C:\MyDB\NWIND.MDB"
ايجاد يک شی OleDbConnection و ارسال مقدار متغير ConnectionString '

Dim cn As OleDbConnection = New OleDbConnection(connectString)
فعال نمودن Connection'
cn.Open()
استفاده از يک متغير بمنظور ذخيره عبارت SQL'

Dim selectString As String = "SELECT CustomerID, ContactName, Phone FROM Customers"
ايجاد يک شی OledbCommand'
در اين خط متغير عبارت SQL و شی OleDbConnection ، ارسال می گردد '
Dim cmd As OleDbCommand = New OleDbCommand(selectString, cn)
ارسال CommandText به Connection و ايجاد يک OleDbDataReader '
OleDbDataReader از نوع " فقط بسمت جلو " خواهد بود'
Dim reader As OleDbDataReader = cmd.ExecuteReader()
تنظيم عرض جدول '
DisplayTable.Width = Unit.Percentage(90.0)
ايجاد يک سطر جديد برای اضافه نمودن عنوان جدول'
Dim tableHeading As TableRow = New TableRow()
ايجاد و اضافه نمودن سلول های شامل ستون Customer ID '
Dim customerIDHeading As TableHeaderCell = New TableHeaderCell()
customerIDHeading.Text = "Customer ID"
customerIDHeading.HorizontalAlign = HorizontalAlign.Left
tableHeading.Cells.Add(customerIDHeading)
ايجاد و اضافه نمودن سلول های شامل ستون Contact Name '
Dim contactNameHeading As TableHeaderCell = New TableHeaderCell()
contactNameHeading.Text = "Contact Name"
contactNameHeading.HorizontalAlign = HorizontalAlign.Left
tableHeading.Cells.Add(contactNameHeading)
ايجاد و اضافه نمودن سلول های شامل ستون Phone '
Dim phoneHeading As TableHeaderCell = New TableHeaderCell()
phoneHeading.Text = "Phone"
phoneHeading.HorizontalAlign = HorizontalAlign.Left
tableHeading.Cells.Add(phoneHeading)
DisplayTable.Rows.Add(tableHeading)
تکرار در بين داده انتخابی نتايج و افزودن داده برای هر يک از ستون های مورد نظر در جدول '
While(reader.Read())
Dim detailsRow As TableRow = New TableRow()
Dim customerIDCell As TableCell = New TableCell()
customerIDCell.Text = reader("CustomerID").ToString()
detailsRow.Cells.Add(customerIDCell)
Dim contactNameCell As TableCell = New TableCell()
contactNameCell.Text = reader("ContactName").ToString()
detailsRow.Cells.Add(contactNameCell)
Dim phoneCell As TableCell = New TableCell()
phoneCell.Text = reader("Phone").ToString()
detailsRow.Cells.Add(phoneCell)
DisplayTable.Rows.Add(detailsRow)
End While
بستن Connection'
reader.Close()
cn.Close()
End Sub


• مقدار متغير ConnectString در ابتدای کد نوشته شده فوق را تغيير و آن را به محلی که بانک اطلاعاتی موجود است ، اشاره دهيد .
• از طريق منوی File ، گزينه Save All را انتخاب تا فرم وب و ساير فايل های مرتبط با پروژه ، ذخيره گردد .
•از طريق منوی Build ، گزينه Build Solution را بمنظور ايجاد پروژه ، فعال نمائيد.
•در Solution Explorer ، بر روی DataSample.aspx کليک سمت راست و در ادامه گزينه View in Browser را انتخاب نمائيد . در ادامه صفحه در مرورگر نمايش و شامل داده موجود در بانک اطلاعاتی مربوطه است .

اشکالات و خطاهای احتمالی
درزمان اجراء ، ممکن است با خطائی مانند زير مواجه شويم :


The Microsoft Jet database engine cannot open the file 'C:\MyDB\NWIND.MDB'.
It is already opened exclusively by another user, or you need permission to view its data.


•خطای فوق ، اغلب بدليل عدم داشتن مجوز لازم بمنظور دستيابی به فايل ( فايل بانک اطلاعاتی با انشعاب mdb . ) می باشد . بصورت پيش فرض ، ASP.NET تحت ASPNET account در فريمورک دات نت نسخه يک و يا NetworkService در فريمورک دات نت نسخه 1،1 اجراء می گردد.در اين رابطه لازم است تغييرات لازم در رابطه با مجوز دستيابی به فايل mdb . و فولدری که شامل فايل است ، اعمال گردد .
•از نصب عناصر مورد نياز Microsoft Jet database بر روی سيستم ، مطمئن گرديد. در صورتيکه MDAC 2.6 نصب شده باشد ( Microsoft Data Access Components 2.6) ، عناصر Jet را شامل نمی گردد . در چنين مواردی می بايست آخرين نسخه Jet 4.0 Service Pack ، بر روی سيستم نصب گردد.