درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
دوره های مرتبط
دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
مدرس: Amirhossein Fazlikhani
این دوره را در 12 قسط خریداری کنید
دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
مدرس: حسین احمدی
این دوره را در 78 قسط خریداری کنید
دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
مدرس: حسین احمدی
این دوره را در 11 قسط خریداری کنید
دوره تخصصی آموزش متن کاوی با ابزار NLTK
مدرس: taghandiki
این دوره را در 11 قسط خریداری کنید
دوره آموزشی ساخت ربات تلگرام
مدرس: taghandiki
این دوره را در 8 قسط خریداری کنید
دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
مدرس: dr-iman
این دوره را در 13 قسط خریداری کنید
ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
مدرس: مهدی عادلی
این دوره را در 2 قسط خریداری کنید
دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
مدرس: حسین احمدی
این دوره را در 17 قسط خریداری کنید
دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
مدرس: taghandiki
این دوره را در 20 قسط خریداری کنید
دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
مدرس: مهدی عادلی
این دوره را در 27 قسط خریداری کنید

برنامه نویسی 3 لایه قسمت 2

0 نظرات
56 بازدیدها
توی جلسه ی قبل یک Connection ایجاد کردیم. برای اینکه بین فرم برنامه و لایه ی دوم که Business هست ارتباط بر قرار بشه و اطلاعات بین اون ها جا به جا بشه به چیزی نیاز داریم به نام Data Object. برای ایجاد دیتا آبجکت نیز ابتدا باید یک کلاس بسازیم. داخل این کلاس متد خاصی قرار نمی دهیم و به هیچ کدام از using ها هم نیاز نداریم. فقط باید چند متغیر public بنویسیم. زمانی که دیتابیس رو درست کردیم، داخل جدولمون چند تا کالن داشتیم مثلا داخل جدول Student که اطلاعات دانش آموزان داخلش ذخیره میشه ID و FirstName و LastName را داریم. اما با آیدی کاری نداریم و داخل دیتابیس اون رو identity specification می کنیم تا درگیر مقدار دهیش نشیم. پس باید به FirstName و LastName مقدار بدیم. برای همین دو متغیر Public از نوع String داخل Data Object تعریف می کنیم. حالا نام و نام خانوادگی دانش آموز از فرم داخل دیتا آبجکت ذخیره می شه. به صورت زیر:
DataObject Dob = new DataObject ();
Dob.FirstName = "Amir Hossein";
Dob.LastName= "Fazlikhani";
می تونیم به جای مقادیر داخل دابل کوتیشن، اون ها رو از کاربر دریافت کنیم یعنی دو تا TextBox بزاریم و مقادیر رو از Text اون ها بگیریم. حالا اطلاعات رفت به دیتا آبجکت. می رسیم به نحوه ی ذخیره ی اون ها داخل دیتابیس. اول از همه نیاز به یه پروسیجر داریم تا با اجرا کردنش مقادیر رو بگیره و Insert کنه داخل جدول دیتابیسمون. نحوه ی ساختن پروسیجر رو توضیح نمی دم چون داخل همین سایت آی تی پرو می تونید به آموزش های Sql server دسترسی داشته باشید. پروسیجرمون بدین صورت شد:
create procedure AddStudent
        @firstname nvarchar(50),
        @lastname nvarchar(50)
as
        insert into Student (FirstName, LastName)
        values (@firstname, @lastname)
حالا میریم سراغ لایه ی سوم یعنی Data Layer. این لایه وظیفه ی ذخیره ی اطلاعات دریافتی از لایه ی Business در دیتابیس رو داره. Business هم که لایه ی دومه اطلاعاتش رو از Data Object دریافت می کنه. اول باید Data Layer رو بنویسیم. برای این کار یک کلاس می سازیم به اسم DataLayer. داخل این کلاس همه ی using هارو پاک می کنیم و فقط دو using زیر رو قرار میدیم:
using System.Data;
using System.Data.SqlClient;
حالا باید برای هر کدوم از کار هامون مثلا Insert و Update و ... یک متد بنویسیم. من فقط Insert رو میگم و با یاد گرفتن اون میتونید بقیش رو هم بنویسید که بیش ترین تفاوت رو توی پروسیجر هاشون دارن و داخل Ado.net فرق چندانی ندارن. پروسیجری که نوشتیم باید دو مقدار firstname و lastname رو دریافت کنه تا بتونه یک خط جدید داخل جدول Insert کنه. پس متد InsertData که ساختیم باید این دو مقدار رو دریافت کنه و تحویل پروسیجر بده. این کار رو داخل دوره های برنامه نویسی شی گرا یا به اختصار oop یاد گرفتید. پس من فقط کدش رو قرار می دم تا ساختارش رو ببینید و گیج نشید.
public void InsertData(string FirstName, string LastName)
{

}

حالا باید طبق چیزایی که توی دوره های Ado.net یاد گرفتید پروسیجر AddStudent رو فرا خوانی کنیم و مقادیر مورد نیاز رو بهش بدیم. اول یه نمونه از روی کلاس DBConnection که توی جلسه ی قبل ساختیم و برای ایجاد و باز کردن Connection بود بسازیم. مثل زیر:
DBConnection SqlCon = new DBConnection();
حالا یه SqlCommand می نویسیم تا پروسیجر رو اجرا کنیم. بعد از این کار Connection اون رو باید برابر با متد OpenSqlCon که برای باز کردن Connection بود قرار بدیم. بصورت زیر:
Sqlcmd.Connection = SqlCon.OpenSqlCon();
بعد از این کار، باید به کامند خودمون بگیم که می خوایم یه پروسیجر رو اجرا کنیم. بنابراین مثل زیر عمل می کنیم:
Sqlcmd.CommandType = CommandType.StoredProcedure;
بعد از اون باید پروسیجر AddStudent رو به اون معرفی کنیم. مقدار CommandText اون رو برابر با اسم پروسیجر می کنیم. یعنی:
Sqlcmd.CommandText = "InsertStudent";
حالا باید مقادیر مورد نیاز رو بهش بدیم. یعنی پارامتر ها رو اضافه کنیم. دو پارامتر FirstName و LastName. به جای از Add استفاده کنیم و مجبور بشیم نوع پارامتر رو هم بنویسیم از AddWithValue استفاده می کنیم که مقدار رو بهش بدیم و خودش تشخیص بده نوعش چیه. مثل زیر که هر دو پارامتر اضافه شدن:
Sqlcmd.Parameters.AddWithValue("@firstname",FirstName);
Sqlcmd.Parameters.AddWithValue("@lastname",LastName);
حالا کامند رو اجرا می کنیم و با استفاده از متد CloseSqlCon که برای بستن Connection بود و توی جلسه ی قبل نوشتیم Connection خودمون رو می بندیم. دقیقا مثل این کد:
Sqlcmd.ExecuteNonQuery();
SqlCon.CloseSqlCon();
کارمون توی لایه ی سوم تموم شده. س میریم سراغ لایه ی میانی که Business بود. توی این لایه همون طور که گفته شد اطلاعات از Data Object دریافت میشه و به لایه ی سوم فرستاده میشه. پس ابتدا کلاس Business رو می سازیم و یه متد می نویسیم به نام Insert که DataObject رو دریافت کنه.
public void Insert(DataObject  dob)
{

}
حالا باید یه نمونه از لایه ی سوم یعنی DataLayer ایجاد کنیم.
DataLayer dl=new DataLayer();
و در آخر هم دو مقدار FirstName و LastName دیتا آبجکت رو به متد InsertData واقع در لایه ی سوم بدیم تا پروسیجر این مقادیر رو دریافت کنه و دانش آموز رو به دیتابیس اضافه کنه. مثل زیر:
dl.InsertData(dob.firstname, dob.lastname);
کل این متد که در لایه ی دوم واقع شده به صورت زیر شد:
public void Insert(DataObject  dob)
{
    DataLayer dl = new DataLayer();
    dl.InsertData(dob.firstname, dob.lastname);
}
حالا باید توی لایه ی اول که همون فرم برناممون بود نمونه ای که از دیتا آبجکت ساخته بودیم و مقادیر مورد نیاز رو بهش داده بودیم رو بفرستیم برای Business. مثل زیر:
Business b = new Business();
b.Insert(Dob);
به صورت کلی:
DataObject Dob = new DataObject();
Dob.FirstName = "Amir Hossein";
Dob.LastName = "Fazlikhani";
Business b = new Business();
b.Insert(Dob);
برنامه نویسی 3 لایه به صورت ساده اینگونه بود. در آینده با یک فیلم آموزشی پروژه محور به صورت گسترده تر توضیح میدم.
برچسب ها
ردیف عنوان قیمت
1 برنامه نویسی 3 لایه رایگان
2 برنامه نویسی 3 لایه قسمت 2 رایگان
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
هیچ نظری ارسال نشده است

    برای ارسال نظر ابتدا به سایت وارد شوید

    arrow