تبلیغات
banner
banner
banner
تبلیغات
banner

فیلم های آموزشی : 36 +

تعداد کاربران : 43 +

تعداد کل مطالب : 338 +

تعداد نظرات : 32 +

حضرت علی (ع): هر چیزی زکات دارد ، و زکات علم نشر آن است!

آموزش مقدماتی تا پیشرفته سی شارپ بخش دویست و بیست و سوم


بنام حضرت دوست که هر چه داریم از اوست.

آموزش مقدماتی تا پیشرفته سی شارپ بخش دویست و بیست و سوم


متد AddWithValue نام يك placeholder و متغيري كه مقدار مربوط به آن را در زمان اجراي برنامه نگهداري مي كند را به عنوان پارامتر دريافت كرده و آن را به ليست Parameters اضافه مي كنيد .

براي مثال در اين قسمت مشخص كرده ايم كه هنگام اجراي دسـتور، مكـان placeholder بـا نـام au_id@ بايـد بـا مقـدار خاصـيت Text كنتـرل txtAuId عوض شود .

همچنين مكان placeholder با نام au_name@نيز بايد با مقـدا ر خاصـيت Text مربوط به كنترل txtLastName عوض شود و … .

متد ExecuteNonQuery:

بعد از انجام تمام اين مراحل مي توانيد دستور موجود در اين شيئ را روي داده هاي بانك اطلاعاتي اجرا كنيد .

براي اين كار ابتدا بايد اتصال خود را به بانك اطلاعاتي بر قرار كنيـد.

سـپس بـا فر اخـواني متـد ExecuteNonQuery دسـتور موجـود در شـيئ SqlCommand را اجرا كنيد.

البته اين متد همانطور كه نام آن نيز مشخص مـي كنـد فقـط زمـاني كـاربرد دارد كـه بخـواهيم دستوري را روي بانك اطلاعاتي اجرا كنيم كه داده اي را برنمي گرداند .

براي مثال اگر دستور موجود در شـيئ SqlCommand يك دستور SELECT باشد كه اطلاعاتي را از جداول استخراج كرده و آنها را به برنامه مي دهد، نمي توانيم براي اجراي آن از اين متد استفاده كنيم.

اما اگر دستور مورد استفاده فقط تغييراتي را در داده هاي بانك اطلاعاتي ايجاد كند (براي مثال، ماننـد اينجـا يـك ركورد از اطلاعات را به جدول اضافه كند)مي توانيم با فراخواني آن متد دستور را در بانك اطلاعاتي اجرا كنيم.

اين متد بعد از اجرا عددي را به عنوان خروجي برمي گرداند كه مشخص كننده ي تعداد ركورد هايي است كه با اجـراي ايـن دسـتور SQL تغيير كرده اند.

اين عدد معمولا براي بررسي صحت اجراي دستور مورد استفاده قرار مي گيرد.

قطعه كد زير نحـوه ي اسـتفاده از دستور ExecuteNonQuery را در برنامه نشان مي دهد.

كلاس SqlDataAdapter:

كلاس DataAdapter در برنامه هاي بانك اطلاعاتي، همانند پلي بين جداول بانك اطلاعاتي و نيـز داده هـاي موجـود در حافظه كه به وسيله ي DataSet نگهداري مي شوند، عمل مي كنند.

اين كلاس براي دسترسي بـه بانـك اطلاعـاتي از شـيئ  ايجاد شده از كلاس SqlCommand اي كه به آن نسبت داده مي شود استفاده مي كند و همانطور كه مي دانيـد، هـر شـيئ از كلاس SqlCommand حاوي شيئ اي از كلاس SqlConnection است كه ارتباط آن را با بانك اطلاعاتي برقـرار مـي كنـد.

بنــابراين مـي تـوانيم بگــوييم كـه كـلاس DataAdapter بــراي دسترسـي بـه بانـك اطلاعـاتي از كــلاس SqlCommand و SqlConnection استفاده مي كند.

كلاس DataAdapter داراي خاصيتي به نـام SelectCommand اسـت .

ايـن خاصـيت حـاوي شـيئ اي از نـوع SqlCommand است كه از دستور موجود در آن شيئ، براي دريافت داده هاي مورد نياز در برنامه از بانك اطلاعاتي به كار مي رود.

به عبارت ديگر DataAdapter دستوري كه در اين خاصيت نگهداري مي شود را روي بانـك اطلاعـاتي اجـرا كـرده و نتايج آن را در كلاس هايي مانند DataSet و يا DataTable قرار مي دهد تا در برنامه مورد استفاده قرار گيرند.

عـلاوه بر اين كلاس DataAdapter داراي خاصـيت هـايي بـه نـام DeleteCommand ،InsertCommand و UpdateCommand است كه هر يك شيئ اي از نوع SqlCommand را قبول مي كنند و DataAdapter از دستور ذخيره شده در هر يك از آنها به ترتيب براي حذف، درج و يا ويرايش داده ها در بانك اطلاعاتي استفاده مي كند.

در حقيقـت، هنگامي كه ما در طي برنامه تغييراتي را درون داده هاي موجود در حافظه نگه داري مي كنيم، DataAdapter با اسـتفاده از دستورات موجود در اين خاصيت ها تغييرات ما را از داده هاي موجود در حافظه به داده هاي موجود در بانـك اطلاعـاتي منتقـل مـي كند.

ممكن است ابتدا اين موارد كمي پيچيده به نظر برسند، اما استفاده از آنها مانند تمام قسمتهاي ديگري كه تاكنون مشاهده كرده ايم ساده هستند.

در قسمتهاي قبل مشاهده كرديد كه چگونه مي توان دستورات SELECT مورد نياز را بـراي انتخـاب داده هـا از بانك اطلاعاتي ايجاد كرد .

براي تكميل دستورات مورد نياز براي كلاس DataAdapter نيز فقـط كـافي اسـت كـه دسـتور SELECT مورد نظر خود را وارد كنيد.

در ويژوال استوديو كلاسي به نام Command Builder وجود دارد كه مي توانـد بر اساس دستور SELECT وارد شده، دستورات INSERT ،UPDATE و يا DELETE مناسب توليد كند .

بنابراين بهتر است كه ابتدا با هم خاصيت SelectCommand و نحـوه ي اسـتفاده از آن را بررسـي كنـيم .

سـپس مـشاهده خواهيم كرد كه چگونه مي توان با استفاده ازCommand Builder ،دستورات ديگر را نيز توليد كرد.

با این مباحث در قسمت دویست و بیست و چهارم آشنا شوید.


درباره نویسنده
سجاد اسدی
   سجاد اسدی

سجاد اسدی هستم دانشجوی رشته نرم افزار و علاقه مند به تدریس و یادگیری دروس مرتبط با تکنولوژی نرم افزار و اینترنت اشیاء جهت ارتباط با بنده مراجعه شود به آیدی سروش و تلگرام : @ordervira و پیج بنده در اینستاگرام instagram.com/sajjadred11 ""اللهم صل علی محمد و آل محمد"" برای شروع هیچ وقت دیر نیست. "الهم عجل لولیک الفرج"

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی

aparat کانال آپارات

soroush کانال سروش

کانال آی گپ