ساخت تابعی با آرگومان 'پارامتر'
با سلام
من یه SP توی بانکم دارنم که حدودا 12 تا آرگومان (ورودی) میگیره و براساس اطلاعاتی که کاربر وارد کرده جستجو رو انجام میده و هر چه قدر اطلاعات وارد شده بیشتر باشه سریعتر به نتیجه می رسه .
حالا می خواستم بدونم این تابع رو چطور باید بنویسم با رعایت اصول 3 لایه؟؟:افسرده:
(در ضمن برای عملیات حذف واضافه هم این تابع رو می خوام البته برای اضافه که باید 10 تا آرگومان برای تابع بدم راه دیگه ای نیست؟؟؟؟؟؟:ناراحت:)
نقل قول: ساخت تابعی با آرگومان 'پارامتر'
دو لایه بنویس
با ADO.NET می نویسی؟
اگه با ADO.NET بنویسی باید یه کلاس تعریف کنی ، توابعت رو اونجا بنویس
بعد ازش استفاده کن :)
توابعت رو هم public در نظر بگیر
نقل قول: ساخت تابعی با آرگومان 'پارامتر'
SP یک دستور کاری به چند لایه نداره.
برای چند لایه کار کردن هم دست خودتونه این 3 لاسه یه اسم که بیشتر روش تمرکز کنی با 1 کلاس میتونی اینا رو پیاده کنی.
نقل قول: ساخت تابعی با آرگومان 'پارامتر'
دوست عزیز مشکل من با لایه ها نیست مشکل من با خود تابع است که نمیدونم چطور بنویسم
این SP من :
CREATE PROCEDURE Search
@id INT,
@Name nvarchar(20),
@Family nvarchar(30),
@Telephone NVARCHAR(10),
@Status BIT
AS
BEGIN
SELECT * FROM Major
WHERE id=@id AND ...
END
5تا پارامتر اجباری ( و گاها اختیاری)
تابعی که این SP رو با دادن پارامتر اجرا کنه؟
ممنون
نقل قول: ساخت تابعی با آرگومان 'پارامتر'
دوست عزیز آقای mostafa.hnz ممنون از جوابتون
ولی با این کار
نقل قول:
توابعت رو هم public در نظر بگیر
دیگه 3 لایه بودن معنا نداره خواص شئی گرا بدن از بین میره من قبلا یه برنامه کوچیک بصورت اسپاگتی نوشتم الان جرات نمیکنم برم سمتش .
بی زحمت ج رو اصول باشه بهتره
ممنون
نقل قول: ساخت تابعی با آرگومان 'پارامتر'
نقل قول:
نوشته شده توسط
sasan_22
دوست عزیز مشکل من با لایه ها نیست مشکل من با خود تابع است که نمیدونم چطور بنویسم
این SP من :
CREATE PROCEDURE Search
@id INT,
@Name nvarchar(20),
@Family nvarchar(30),
@Telephone NVARCHAR(10),
@Status BIT
AS
BEGIN
SELECT * FROM Major
WHERE id=@id AND ...
END
5تا پارامتر اجباری ( و گاها اختیاری)
تابعی که این SP رو با دادن پارامتر اجرا کنه؟
ممنون
مگه با SqlCommand نمیتونید Store ها رو اجرا کنید...؟ البته تا اونجا که من میدونم در MS SQL پارامتر اختیاری برای SP نداریم.
در ضمن میتونید یک نگاهی هم به دستور EXECUTE در TSQLبندازین.
نقل قول: ساخت تابعی با آرگومان 'پارامتر'
منظور من اینه که چطور میتونم به یه تابع - بعضی از آرگومان ها رو وارد نکنم . میخوام بررسی کنم آیا کاربر مثلا تکس باکس نام رو پر کرده یا نه اگه نکرده دیگه این رو به عنوان ورودی ندم به تابع تا جستجو هم بر اساس نام انجام بشه در حالی که کاربر اصلا نام رو وارد نکرده!!!
یعنی چطور میتونم تابعی با پارامترهای اختیاری درست کنم ؟؟ که بعضی ها رو وارد کنم بعضی ها رو نه
ممنون
نقل قول: ساخت تابعی با آرگومان 'پارامتر'
بله درسته برای اینکه شی گرایی کامل رعایت بشه باید کپسوله سازی و استاندارد سازی رو هم در نظر بگیریم
اگه منظور شما رو درست متوجه شده باشم
شما برای این کار باید تابعی که تعریف می کنید رو overLoad کنید
به این صورت که تابع مورد نظر تون رو چند بار با آرگومان های مختلف تعریف کنید با یک نام یکسان
و زمان استفاده هم ورودی های تابع شما متغیر خواهد بود
مثه متد show در کلاس messageBox