PDA

View Full Version : سوال: جستجو بر حسب جند چک باکس



hossein_va
چهارشنبه 12 فروردین 1394, 10:04 صبح
سلام.من میخوام برحسب چک باکس هایی که کاربر انتخاب میکنه عمل جستجو انجام بدم کدم به شکل زیره اما فقط فیلتر را بر حسب اخرین چک باکسی را که انتخاب میشه انجام میده یعنی فقط بر حسب یکی


var query = myShop.SearchSize("");
foreach (ListItem item in CheckBoxList1.Items)
{
if (item.Selected)
{
query = myShop.SearchSize(item.Value);

}
}


اگه میتونستم مقدار query که هر بار میگیره را با مقدار قبلی union کنم درست میشد ولی هر کاری کردم نشد

اینم رویه SearchSize

ALTER PROCEDURE [dbo].[SearchSize]
-- Add the parameters for the stored procedure here
@Amount1 nvarchar(20)

AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;


-- Insert statements for procedure here
SELECT distinct id,Price,pic1,pic2,Name
FROM [Producs] INNER JOIN
(
select * from [VWSize] where (Amount=@Amount1)
) as table1
ON [Producs].id=table1.Producs_Id
END

am_al_59
چهارشنبه 12 فروردین 1394, 22:12 عصر
کوئریشو میشه نوشت با کلی دقت و جستجو و تازه اگر روزی نیاز به تغییر کدت داشته باشی بازهم کارت سخت تر میشه
به نظر من بهتره شما یک function تو sql تعریف کنی و اسم فیلد و مقدارشو بهش پاس بدی و درون اون عملیات کنترل رو انجام بدی و در StoreProcedure فقط نتیجه رو چک کنی اینطوری هم کدت بسیار ساده تر میشه و مشکل اضافه شدن فیلدها و مقادیر جدید در آینده هم تا حد زیادی حل میشه

hossein_va
جمعه 14 فروردین 1394, 17:32 عصر
سلام.ممنون.من تو لینک زیر به جوابم رسیدم ولی اگه میشه یه کم بیشتر توضیح بدی درباره روشی که گفتی
http://barnamenevis.org/showthread.php?490469-%DA%86%D8%B3%D8%AA%DA%86%D9%88-%D8%A8%D8%B1-%D8%AD%D8%B3%D8%A8-%DA%86%D9%86%D8%AF-CheckBox