مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

ارسال چند پارامتر به استورپروسیجر برای دستور like

پنج شنبه, 21 شهریور 1398 10:42

ارسال چند پارامتر به استورپروسیجر برای دستور like

سلام

من یک ستون دارم به نام بانک و میخوام رکورد هایی که شامل  نام بانک هایی که در 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 + "%'";
                                    }                                    
                                }

                            }

پنج شنبه, 21 شهریور 1398 11:32
	@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 + '%' ) )

با این راه انجام دادم اگر کسی راه بهتری میدونه ممنون میشم

پنج شنبه, 21 شهریور 1398 12:07

سلام

والا الان نمی تونم دست به کد بشم فقط راه حل را می گم اگر تونستی که خب مرحبا

اگر نشد که بعدا که رفتم پای لپ تاپ یه کدی برات بنویسم

راه حل:

توی SP  خودت یک Virtual Table  ایجاد کن و مقادیری که می خواهی پاس بدهی را بریز داخل این Virtual Table  و سپس Like  خودت را روی این تیبل پیاده کن

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید