PDA

نسخه کامل مشاهده نسخه کامل : استفاده از StoredProcedure در asp 2005



aminkarami
04-09-2006, 22:52
StoredProcedure منابع اطلاعاتي هستند. در واقع حاوي دستورات sql اي مي باشند كه در براي كار هاي خاص مي توان از آنها استفاده كرد.
به طور كلي براي كار با بانك اطلاعاتي با استفاده از SqlCommand در .net سه نوع راه قرار داده شده است.كه دراين مقاله به StoredProcedure مي پردازيم و بقيه را در آينده بررسي مي كنيم . همانطور كه گفته شد يكي از آنها StoredProcedure است كه عينا با استفاده از كدهاي موجود در ديتابيس فعاليت مي كنند.
مزيت استفاده از اين روش اين است كه شما با نوشتن چند متد به طور مثال متدي براي اضافه كردن و يا خواندن در بانك اطلاعاتي ديگر نيازي نيست كه در هر كلاس از برنامه فرامين موجود را مججدا فرا خواني كنيد . بلكه كافيست كه خصوصيت commandtext را با نام آن StoredProcedure قرار دهيد.
نحوه ي ايجاد StoredProcedure:
در نوار ServerExplorer وارد جزييات بانك مورد تظر مي شويم. سپس بر روي پوشه ي StoredProcedure كليك كرده و add را مي زنيم.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
صفحه حاوي كدهاي sql باز مي شود و شما مي توانيد در آن كد هاي لازم خود را براي هر كاري كه مي خواهيد انجام گيرد بنويسيد. در اين مثال ما يك جدول داريم با سه فيلد ID,Name,Photo كه به ترتيب int,text,image مي باشند . برنامه حاوي يك fileupload مي باشد كه از كاربر آدرس عكس مربوطه براي بارگزاري در بانك اطلاعاتي را مي گيرد بعد با اسفاده از يك تابع آن را درون بانك اطلاعاتي مي ريزد.
من براي اين كار يك كد insert درون StoredProcedure به نام addphoto نوشته ام كه به شرح زير است.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
همان طور كه مشاهده مي كنيد يك كد ساده sql كه سه متغيير تعريف مي كند و سپس با استفاده از دستور insert آن را به بانك اضافه مي كند.
حالا بريم سراغ تابع:
براي ريختن ركورد درون يك فيلد image چند راه وجود دارد كه ما در اين مثال با استفاده از ريختن يك آرايه درون آن استفاده مي كنيم . همانطور كه مي دانيد مي توان با استفاده از fileupload نمايش ماتريسي از تصوير به صورت آرايه اي بدست آورد . حال به طابع آضافه كردن درون بانك اطلاعاتي توجه كنيد.

براي استفاده صحيح از كد به اين namespace ها نياز داريم:
System.Data , System.Data.SqlClient

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در ابتدا ما يك connection تعريف مي كنيم و مقداره connectionstring اونو از config برنامه مي خوانيم. سپس يك command تعريف مي كنيم و commandtext آن را برابر addphoto قرار داديم و connection آن را نيز برابر connection تعريف شده. سپس commandTypeآن را برابر StoredProcedure نكته مهم اضافه كردنه parameter ها به command است در قسمت اول نام همان متغييري كه درون كد sql نوشته شده است و قسمت دوم مقداري كه بايد مقدار دهي شود.بعد هم طبق معمول connection رو باز مي كنيم و با يك ExecuteNonQuery كارو تمام مي كنيم. اينم كدي كه براي دكمه نوشتم كه از fileupload آرايه تصوير را ميگيرد.
ابتدا ID رو 2 بعد نام تصوير رو از روي textbox اي كه كاربر پر مي كند مي خوانيم و در آخر هم تصوير.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

aminkarami
04-09-2006, 22:56
اين هم آموزش StoredProcedure براي دوستان علاقه مند به كار با ADO منتظر نظرات هستم .
مرسي امين

siamak_asgar
04-04-2009, 12:12
کمک فوری فوری ((مرگ یا زندگی))
من فرمی دارم که اطلاعات را در آن ثبت می کنم که هر رکورد دارای یک ID است
مب خواهم برای ویرایش اطلاعات دیگر هر رکورد باز دن یک دکمه فرمی جدید باز شود که مستقیما رکورد مربوط به ID فعلی و در حال کار را نشان دهد نه همه رکرودها را
مرسی
عاجزانه منتظرم
در ضمن از C# &&&& Sql2008 استفاده می کنم