آنچه تاکنون گفته شده است : |
در بخش سوم به بررسی ساختارهای تکرار ، خواهيم پرداخت
VB.NET دارای چندين ساختار تکرار است :
-
For...Next
-
Do...While
-
Do...Until
-
For...Each
در اغلب موارد صرفا" از دو ساختار فوق ، استفاده می گردد . Do...While و Do...Until دارای عملکردی مشابه با يک تفاوت اساسی می باشند. از ساختار For...Each در زمان کار با آرايه ها و يا Collections ، استفاده می شود. ( Collection يک شی است که خود شامل اشياء ديگری است ) .
در بخش اول اين مقاله با اسکريپت های ويژوال بيسيک و ساختارهای کنترلی در VB.NET به صورت اجمالی آشنا شديم . در بخش دوم به بررسی ساختارهای تصميم گيری ، خواهيم پرداخت . If ...Then : تعداد مسيرهائی را که می توان پس از بررسی يک عبارت شرطی انتخاب نمود ، اندک است . Select Case :تعداد مسيرهائی را که می توان پس از بررسی يک عبارت شرطی انتخاب نمود ، زياد است .
همانگونه که قبلا" اشاره گرديد ، با استفاده از ساختارهای تصميم گيری ، يک و يا چندين شرط بررسی و بر اساس نتايج بدست آمده ، دستور و يا دستوراتی اجراء و يا از اجرای دستور و يا دستوراتی صرفنظر می گردد . در VB.NET از دو روش متفاوت در اين رابطه استفاده می گردد :
در زمان نوشتن يک برنامه کامپيوتری با استفاده از هر زبان برنامه نويسی نظير VB.NET می توان از ساختارهای متفاوتی به منظور کنترل روند اجرای کدها ، استفاده نمود . ساختارهای فوق را می توان به سه گروه عمده تقسيم نمود :
ساختارهای تصميم گيری ( اتخاذ تصميم در خصوص اجراء و يا عدم اجرای خط و يا خطوطی از برنامه )
ساختارهای تکرار ( اجرای يک و يا مجموعه ای کد به دفعات مورد نياز )
ساختارهای پرش ( توقف روند جاری اجرای يک برنامه و پرش به يک محل و اجرای يک بلاک کد خاص )
در مجموعه مقالاتی که در اين رابطه ارائه خواهد شد به بررسی هر يک از ساختارهای فوق در VB.NET و نحوه استفاده از آنان به منظور ايجاد صفحات ASP.NET خواهيم پرداخت .
در بخش اول اين مقاله با هر يک از ساختارهای فوق به صورت اجمالی آشنا خواهيم شد.
در بخش اول اين مقاله به جايگاه متغيرها در يک زبان برنامه نويسی اشاره و با نحوه تعريف آنان در VB.NET آشنا شديم . در بخش دوم اين مقاله به بررسی انواع نوع های ساده در VB.NET خواهيم پرداخت .
انواع نوع های ساده ( Simple Data Types )
VB.NET دارای دوازده نوع داده متفاوت بوده که می توان آنان را به سه گروه عمده تقسيم نمود : نوع های عددی ، نوع های حرفی ( متنی ) و نوع های متفرقه . در ادامه به بررسی هر يک از گروه های فوق ، خواهيم پرداخت ( در اين مقاله نوع Object بررسی نخواهد شد و در مقالاتی جداگانه به اين نوع داده ، خواهيم پرداخت ) .
يکی از مهمترين مسائل موجود در هر زبان برنامه نويسی ، نحوه ذخيره و بازيابی اطلاعات مورد نياز يک برنامه است . فرض کنيد ، قصد نوشتن برنامه ای را داشته باشيم که در آن از کاربران بخواهيم نام خود را وارد نمايند . پس از درج نام توسط کاربران ، اطلاعات فوق را چگونه می بايست ذخيره نمود تا امکان استفاده از آنان در برنامه ، فراهم گردد؟. چگونه می توان اقدام به ذخيره سازی داده هائی با محتوياتی خاص نظير : "اعداد" و يا " تاريخ " نمود؟. نحوه بازيابی اطلاعات ذخيره شده به چه صورت است ؟ در پاسخ به تمامی سوالات فوق ، می بايست به جايگاه بسيار مهم "متغيرها " در يک زبان برنامه نويسی ، اشاره نمود .
متغيرها يکی از مفاهيم اوليه و در عين حال بسيار مهم در دنيای برنامه نويسی می باشند . با استفاده از متغيرها يک نام ( label ) به ناحيه ای از حافظه نسبت داده شده و امکان ذخيره سازی نوع خاصی از داده در آن فراهم می گردد . هر يک از زبان های برنامه نويسی دارای امکانات و مجموعه قوانينی به منظور تعريف ، نسبت دهی و دستابی به محتويات يک متغير می باشند .با استفاده از متغيرها ، امکان انجام عمليات متفاوتی نظير محاسبات رياضی ، پردازش بر روی رشته ها ، شمارش طول يک عبارت ، در يک برنامه فراهم می گردد .
VB.NET ، زبانی قدرتمند در ارتباط با نوع داده ها می باشد . در زمان تعريف يک متغير ، می بايست نوع داده مربوطه را نيز مشخص نمود (نظير String,Integer و يا Date ) .پس از تعريف يک متغير و نوع آن ، نحوه برخورد با داده ( نحوه ذخيره و بازيابی و انجام عمليات مجاز بر روی آن ) ، مشخص می گردد.
در اين مقاله قصد داريم به بررسی امکانات VB.NET به منظور ذخيره سازی اطلاعات پرداخته و در اين راستا با نوع های متفاوت داده و جايگاه هر يک از آنان ، آشنا شويم .
در اين مقاله قصد داريم به نحوه بازيابی و نمايش اطلاعات موجود در يک بانک اطلاعاتی Access اشاره نمائيم . هدف از مقاله فوق ، پرداختن به تمامی رويکردهای موجود در اين زمينه نبوده و صرفا" به معرفی يکی از گزينه های موجود در اين زمينه اشاره خواهد شد. در اين راستا از تکنولوژی های ASP.NET ، ADO.NET و VB.NET استفاده خواهد شد . از کلاس های OleDbConnection ، OleDbCommand و OleDbDataReader مربوط به ADO.NET بمنظور انجام عمليات لازم در ارتباط با بانک اطلاعاتی ، از ASP.NET بمنظور ايجاد فرم وب و ارائه داده با استفاده از کنترل سرويس دهنده Table و از زبان VB.NET بمنظور نوشتن دستورالعمل های مورد نظر استفاده می گردد .
در ابتدا لازم است با سه کلاس ADO.NET که در ادامه از آنان استفاده خواهد شد ، بيشتر آشنا شويم :
ذخيره و بازيابی داده توسط 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 امری لازم و ضروری است ، چراکه اکثر منابع داده صرفا" تعداد محدودی از ارتباطات فعال را حمايـت نموده و در ضمن ارتباطات فعال ، منابع با ارزش سيستم را اشغال و حجم عملياتی بر روی سيستم را افزايش خواهند داد .