تری دینگا
برنامه نویسیمقالات

استفاده از Stored Procedure در تکنولوژی لینک با مثال

نمونه برنامه سی شارپ

استفاده از Stored Procedure در تکنولوژی لینک با مثال

استفاده از Stored Procedure در تکنولوژی لینک با مثال

 

در این پست میخوام طرز استفاده از Sotored Procedure در تکنولوژی Linq را همراه با مثال آموزش بدم .مطمئناً مطلب جالب و بدرد بخوری و مفیدی در برنامه هاتون می باشد.به درخواست یکی از دوستان خوبم ( یاور زاده ) که در سایت کامنتی در این رابطه داده بودند :

من یک پروژه کامل توسط LINQ TO SQL و STRODE PRODUE برا ی یادگیری نیاز دارم لطفا راهنمایی بفرمایید

این برنامه پروژه کاملی نیست ولی شما رو راه میندازه.

اولین کاری که می کنید بعد از ایجاد پروژه ، دیتابیستون رو ایجاد کنید.

جداولتون رو ایجاد کنید. (فرض من براینست که همه تون بلدین که داخل 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 ها دسترسی پیدا کنید.

مطابق شکل زیر :

استفاده از Stored Procedure

وقتی جدول و sp ها رو داخل DataClass بکشیم آبجکت Linq to sql به این شکل در می آید:

استفاده از Stored Procedure

در تصویر بالا در سمت چپ جدولمون قرار دارد و لیست سمت راست تمام 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 ) می باشد.



دانلود سورس برنامه


برای مشاهده کلیه سورس های برنامه سی شارپ کلیک نمایید.

تمامی مطالب توسط تیم سافت ساز ترجمه و جمع آوری می شود . منبع سافت ساز

امتیاز به این مطلب :

امتیاز سافت ساز

جمع امتیازات

لطفا به این مطلب امتیاز دهید

User Rating: 3.08 ( 3 votes)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

دکمه بازگشت به بالا