آیا می دانید با دوره های آموزشی سون لرن می توانید از 0 تا 100 طراحی وب را در منزل فراگیرید!

دوره مجازی #C (جلسه 23): ارتباط با پایگاه داده

14 1907 ۵ مهر ۹۴
در این جلسه به بررسی مبحث ارتباط با پایگاه داده خواهیم پرداخت و فصل چهارم از این دوره ی آموزشی را آغاز خواهیم کرد. پیش از شروع آموزش مفاهیم این جلسه، به طور شهودی و کاربردی با مفهوم برنامه نویسی چند لایه نیز آشنا خواهیم شد. مطالب آموزش داده شده در این جلسه به قرار زیر می باشند:
  • معرفی مفهوم برنامه نویسی سه لایه و در کل چند لایه
  • معرفی و شرح کاربرد لایه های سه گانه Data Layer, Business Layer, Presentation Layer
  • آشنایی با کلاس SqlConnection و نحوه ی اتصال به پایگاه داده از طریق نرم افزار های طراحی شده در سی شارپ
  • آشنایی با Connection String و انواع آن
  • معرفی کلاس SqlCommand به منظور اجرای کوئری ها و پرس و جو های مختلف
  • آشنایی با انواع اجرای کوئری ها در کلاس SqlCommand
  • اجرای کوئری هایی که مقادیر Scalar برمی گردانند
  • آشنایی با کلاس SqlDataReader به منظور خواندن نتیجه ی کوئری هایی که جدول برمی گردانند
  • نحوه ی اجرای Procedure های از پیش نوشته شده در Sql Server توسط کلاس SqlCommand
  • آشنایی با نحوه ی اجرای Function های از پیش تعریف شده در Sql Server توسط کلاس SqlCommand
در جلسه ی آینده به طور عملی با برنامه نویسی چند لایه آشنا خواهیم شد و همچنین مفاهیم اولیه ی Entity Framework را نیز مطرح خواهیم کرد. در پایان از شما کاربران محترم وبسایت سون لرن خواهشمند هستم که پوزش من را به دلیل قرار ندادن جلسه ی پیشین بر روی سایت به دلیل پاره ای از مشکلات شخصی بپذیرید.
این مطلب یک جلسه از دوره آموزش جامع #C - پایه تا پیشرفته است و برای دیدن آن باید در این دوره ثبت نام کنید .
توضیحات : با توجه به فراگیر شدن استفاده از پلتفرم .NET به همراه سیستم مدیریت پایگاه داده SQL Server به منظور انجام پروژه های تحت ویندوز در ابعاد بزرگ و همینطور متوسط و کوچک، دوره ی جامع #C را که شامل آموزش پایه تا پیشرفته ی این مفاهیم می باشد برای کاربران محترم وب سایت سون لرن تهیه و تولید کرده ایم. این دوره متشکل از چند فصل کلی می باشد که در سایر منابع آموزشی و کلاس های حضوری معمولا بصورت دوره هایی مستقل و جداگانه و مجموعا با هزینه ای بالغ بر 1 میلیون تومان ارائه می گردند در صورتی که وب سایت سون لرن به منظور حمایت از کاربران محترم، این چند دوره را در یک دوره ی جامع گردآوری کرده است تا شما عزیزان با صرف هزینه ای بسیار کمتر از کلاس های حضوری (در واقع کمتر از 15% هزینه کلاس های حضوری) بتوانید تمامی این مطالب را بصورت کامل فراگیرید. در این دوره مفاهیم کاربردی طراحی و پیاده سازی برنامه های Desktop با زبان #C و همینطور طراحی پایگاه داده با استفاده از SQL Server را بررسی خواهیم کرد. در هر فصل از دوره سعی شده است تا با انجام مینی پروژه ها، مطالب آموزشی بصورت کاملا کاربردی تدریس شود. علاوه بر این در پایان دوره یک پروژه کامل را از صفر تا 100 طراحی و پیاده سازی خواهیم کرد. امید است این دوره ی جامع برای شما دوستان گرامی مفید واقع گردد.
:: مطالب جدید سون لرن را از طریق ایمیل دریافت کنید :

دیدگاه ها 14 دیدگاه برای این مطلب ارسال شده است.

  • ‏‏
    Aria Banazadeh(۶ مهر ۱۳۹۴)

    سلام اقای زارعی لطفا در این فصل ی ذره به .NET بپردازید فقط در حد مبتدی!

    • ‏‏
      آرین زارعی(۶ مهر ۱۳۹۴)

      سلام. اگر خاطرتون باشه ما در مورد دات نت صحبت کردیم … در واقع ابزارهایی رو که در فصل 2 و 4 و 5 استفاده می کنیم همگی از امکانات دات نت هستند.

  • ‏‏
    Aria Banazadeh(۲۳ خرداد ۱۳۹۵)

    سلا شما در این جلسه به موضوع execute scalar پرداخته اید اگه نپرداخته اید لطفا دوررو اپدیت کنید و این موضوعو اضافه کنید

    • ‏‏
      آرین زارعی(۲۶ خرداد ۱۳۹۵)

      سلام.
      بله پرداخته شده. شما کامل اگر قسمت پایگاه داده رو مشاهده کنید میبینید .

  • ‏‏
    pardis karimi(۳ شهریور ۱۳۹۵)

    salam .khaste nabashid. ye soale kochik daram az khedmateton.:)
    chera az class sqlDataReader instance new nemikonim mesle class sqlComman??

    • ‏‏
      آرین زارعی(۶ شهریور ۱۳۹۵)

      سلام. ممنون
      ببینید در این کاربرد خاص متد command.executeReader(); برای ما یک نمونه رو میسازه آماده و نیازی به نمونه سازی نیست.

  • ‏‏

    سلام جناب زارعی وقت بخیر.
    این بحث استفاده از فرمان SqlCommand و استفاده از کوریها درون دابل کوتیشن آیا ارتباطی با مبحث DQE داره یا خیر. آخه شباهتی هم در نحوه فراخوانی و کاربردش هم مانند مثال پروسیجر مطرح شده در جلسه آخر فصل پیش هم نمیبینم. بخصوص در استفاده از کوتیشن ها. فقط واسه اینکه گیج نشم پرسیدم. ممنون

    • ‏‏
      آرین زارعی(۱۳ اردیبهشت ۱۳۹۶)

      سلام.
      به طور مستقیم ربطی نداره. ولی میتونید به صورت منطقی ارتباطی بینشون ببینید. این طور که هر sqlcommand در خود sql engine به صورت Dqe اجرا میشه. البته اینکه واقعیت در پشت صحنه چی هست رو من اطلاع دقیقی ندارم.

  • ‏‏

    در خط فرمان زیر:
    Connection.State == System.Data.ConnectionState.Open
    یعنی سولوشن System نیم اسپیس Data کلاس ConnectionState پراپرتی Open باید برابر باشه با پراپرتی State آبجکت Connection
    برداشتم صحیحه!؟

    اگر اینطور هست نمیشه که ابتدا در بالای پنجره کلاس پروگرام System.Data رو using یا import کنیم بعدش از کلاس ConnectionState به تنهایی استفاده کنیم.

    ممنون

    • ‏‏
      آرین زارعی(۱۳ اردیبهشت ۱۳۹۶)

      برداشتتون درسته و میشه اینکار رو کرد. من هنگام کد زدن چون از پیشنهاد آماده ی خود ویژوال استودیو استفاده میکنم و با تب زدن کد رو کامل میکنم این اتفاق میفته

  • ‏‏

    ببخشید سئوالات رو در پستهای جدا مینویسم میخوام که وضوح سئوالات بره بالا تا برای دیگران گنگ نباشه.

    آیا متد داینامیک ExecuteNonQuery() کار دکمه execute رو در محیط SqlServer انجام میده؟ ممنون

    • ‏‏
      آرین زارعی(۱۳ اردیبهشت ۱۳۹۶)

      نه لزوما. این متد های Execute هر کدوم مقدار بازگشتی خودشون رو دارن. ولی در Sql چند نوع متد اجرا نداریم. خیلی جالب نیست اینطوری قیاس انجام بدید.

  • ‏‏

    مطلبی که به نظرم مبهم هستش تفکیک لایه های معماری درون کدها هستش. البته شاید این سئوال کمی زود باشه ولی اگر تلویحی توضیح بفرمایید ممنون میشم. مثلا شما برای ارتباط با دیتابیس دو تا آبجکت به نامهای Connection و Command استفاده فرمودید که احیانا اگر بخوایم از این آبجکتها درون مثلا برنامه phonebook فصل دوم استفاده کنیم و اطلاعات person رو اونجا و بجای serialization درون بانک اطلاعاتی استفاده کنیم تفکیک لایه ها برای مدیریت بهتر develope و درون کلاسهای کد نویسی شده چگونه انجام میشه؟ (البته گمان میکنم دیگه با وجود بانک اطلاعاتی دیگه قضیه لیستهای جنریک و Add کردن اطلاعات درون کلاس NoteBook دیگه منتفی هست) . کاش این آموزش رو همزمان با تدریس شما شروع میکردم. خییییلی بهتر بود. بازم ممنون

  • ‏‏

    سلام. در جلسه بعدی پاسخ سئوالی که تایید نفرمودی رو گرفتم. فقط سه تا ابهام دارم که در بخش نظرات جلسه بعد مطرح میکنم. سپاس از شما

  • نکته : برای پاسخگویی سریعتر و بهتر، بخش نظرات این مطلب مختص پرسش و پاسخ های کاربران ثبت نامی در دوره ی دوره آموزش جامع #C - پایه تا پیشرفته است .
    اگر قبلا در این دوره ثبت نام کرده اید پس از ورود به سایت می توانید تمامی پرسش و پاسخ ها و نظرات مطرح شده ی این مطلب را مشاهده و اگر سوالی دارید در همینجا مطرح کنید.

    ورود/عضویت سریع با اکانت فیسبوک/جیمیل شما

    :: شما می توانید با استفاده از اکانت یاهو یا جیمیل خود به صورت کاملا امن، سریع و بدون نیاز به ورود اطلاعات عضو و وارد سایت شوید. در این صورت هیچ نیازی به ورود نام کاربری و رمز عبور خود نخواهید داشت و هویت شما از طریق ایمیلتان مورد تائید قرار می گیرد .
    برای استفاده از این روش باید در اکانت گوگل(جیمیل) و یا یاهوی خود لاگین باشید .
    عضویت/ ورود سریع با :
    در حال اتصال ...

    ورود به سایت

    ورود سریع با :
    در حال اتصال ...

    جستجو در سون لرن

    عبارت :