استفاده از Stored Procedure در تکنولوژی لینک با مثال
در این پست میخوام طرز استفاده از Sotored Procedure در تکنولوژی Linq را همراه با مثال آموزش بدم .مطمئناً مطلب جالب و بدرد بخوری و مفیدی در برنامه هاتون می باشد.به درخواست یکی از دوستان خوبم ( یاور زاده ) که در سایت کامنتی در این رابطه داده بودند :
این برنامه پروژه کاملی نیست ولی شما رو راه میندازه.
اولین کاری که می کنید بعد از ایجاد پروژه ، دیتابیستون رو ایجاد کنید.
جداولتون رو ایجاد کنید. (فرض من براینست که همه تون بلدین که داخل VS دیتابیس و جدول و … ایجاد کنید)
بعد Stored Procedure های برنامتون رو طراحی کنید. مثلا من در همین برنامه یک sp برای برگرداندن رکوردهای جدول نوشتم:
ALTER PROCEDURE GetList AS begin select * from login end
نام sp ما GetList می باشد و نام جدولمون login هستش. با دستوارت اس کیو ال که آشنایی دارین دستور خط 4 تمام رکوردهای جدول login را برمی گردونه. این sp بدون پارامتر می باشد . حالا می خواهیم sp دیگه ایی که پارمتر بگیره رو نشان دهیم . مثلا sp درج کردن داده در جدولمون:
جدولمون دارای 4 تا فیلد می باشد:
ID , username , email , password
ALTER PROCEDURE InsertData @username varchar(20), @email varchar(150), @password varchar(100) AS begin insert into login values (@username,@email,@password) end
خطوط 3 و4 و 5 پارمترهای این sp می باشد که شامل داده هایی است که قراره در جدول درج شوند و در خط 8 دستورات درج داده در جدول login نوشته شده است.
حالا چه جوری از این Stored Procedure در برنامه هامون استفاده کنیم:
ما از تکنولوژی linq می خواهیم استفاده کنیم برای به کار بردن این تکنولوژی باید آیتمی از نوع linq to sql به پروژمون اضافه کنیم :
در Solution Explorer بروی پروژمون راست کلیک کرده و گزینه add و New Item را انتخاب می کنیم .در پنچره باز شده آیتم Linq To Sql Classes را بر میگزینیم و دکمه Add رو میزنیم.
آبجکتی با نام DataClasses1.dbml در Solution Explorer ایجاد شده است .با دو بار کلیک کردن روی آن یک صفحه خالی را می بینیم.الان توی این صفحه خالی باید جدول و تمام sp های ساخته شده را درش درگ Drag می کنیم.
حالا این سئوال پیش میاد که جداول و sp را از کجا درگ کنیم؟
با دابل کلیک روی دیتابیس ساخته شده در vs، پنچره Server Explorer در سمت چپ نشان داده می شود و در آنجا می توانید به جداول و sp ها دسترسی پیدا کنید.
مطابق شکل زیر :
وقتی جدول و sp ها رو داخل DataClass بکشیم آبجکت Linq to sql به این شکل در می آید:
در تصویر بالا در سمت چپ جدولمون قرار دارد و لیست سمت راست تمام sp ها گنجانده شده است.
الان ما اومدیم sp های خودمون رو ساختیم و شی Linq To SQL که در تکنولوژی لینک واسط برنامه سی شارپ ما با جداول و توابع و SP های ایجاد شده است; ست کردیم.
استفاده از شی Linq To SQL در برنامه :
حالا دیگه با کلاس لینک تو اس کیو ال سرو کار داریم. مثل اکثر کلاس های دات نت باید از کلاس مذکور نمونه بگیریم:
//ایجاد شی لینک تو اس کیو ال DataClasses1DataContext db = new DataClasses1DataContext();
sp های ساخته شده مثل Function ( تابع ) در db قرار می گیرد و ما میتونیم به کار ببریم.
//فرستادن پارامترها برای استور پراسدور db.InsertData(txtUserName.Text, txtEmail.Text, txtpass.Text); //ذخیره تغییرات در بانک db.SubmitChanges(); //فراخوانی لود اطلاعات RefreshData();
کدهای بالا صراحتاً فراخوانی SP و ثبت آن در جدولمون رو نشان می دهد.
تابع db.SubmitChanges() تغییرات را در بانک اطلاعاتی برنامه ذخیره و ثبت می کند.
تابع RefreshData() برای نمایش جدول در دیتا گرید می باشد.
private void RefreshData() { //لود کردن اطلاعات //استفاده از اس پی دیگر برای نمایش اطلاعات dataGridView1.DataSource = db.GetList(); dataGridView1.Columns[0].Visible = false; }
خط 6 برای نشان ندادن فیلد ID در گرید ویو( DataGridView ) می باشد.
برای مشاهده کلیه سورس های برنامه سی شارپ کلیک نمایید.
امتیاز به این مطلب :
امتیاز سافت ساز
جمع امتیازات
لطفا به این مطلب امتیاز دهید