سلام
من یک ستون دارم به نام بانک و میخوام رکورد هایی که شامل نام بانک هایی که در list box انتخاب شده رو بفرستم به استورپروسیجر و خروجی رو ببینم به طور مثال
AND (Bank like N'%%' OR Bank Like N'%%' )
و مقادیری که در list box انتخاب میشه هر بار میتونه تعدادش متفاوت باشه چه طور میشه دستور like رو داینامیک نوشت که بشه چند مقدار بهش فرستاد .
تو سی شارپ اینکارو انجام دادم ولی جواب نداد
int i = 0; foreach (System.Web.UI.WebControls.ListItem item in ddl_Bank.Items) { if (item.Selected) { if (i == 0) { Bank = "N'%" + item.Text + "%'"; i++; } else { Bank += " OR Bank Like N'%" + item.Text + "%'"; } } }
@Bank1 NVARCHAR(50)='', @Bank2 NVARCHAR(50)='', @Bank3 NVARCHAR(50)='', @Bank4 NVARCHAR(50)='', @Bank5 NVARCHAR(50)='', @Bank6 NVARCHAR(50)='', @Bank7 NVARCHAR(50)='', @Bank8 NVARCHAR(50)='' AND (@Bank1 IS NULL OR @Bank2 IS NULL OR @Bank3 IS NULL OR @Bank4 IS NULL OR @Bank5 IS NULL OR @Bank6 IS NULL OR @Bank7 IS NULL OR @Bank8 IS NULL OR ( Bank Like N'%' + @Bank1 + '%' OR Bank Like N'%' + @Bank2 + '%' OR Bank Like N'%' + @Bank3 + '%' OR Bank Like N'%' + @Bank4 + '%' OR Bank Like N'%' + @Bank5 + '%' OR Bank Like N'%' + @Bank6 + '%' OR Bank Like N'%' + @Bank7 + '%' OR Bank Like N'%' + @Bank8 + '%' ) ) با این راه انجام دادم اگر کسی راه بهتری میدونه ممنون میشم
سلام
والا الان نمی تونم دست به کد بشم فقط راه حل را می گم اگر تونستی که خب مرحبا
اگر نشد که بعدا که رفتم پای لپ تاپ یه کدی برات بنویسم
راه حل:
توی SP خودت یک Virtual Table ایجاد کن و مقادیری که می خواهی پاس بدهی را بریز داخل این Virtual Table و سپس Like خودت را روی این تیبل پیاده کن
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)