View Full Version : پاس دادن list به sp
En_MK
دوشنبه 06 بهمن 1393, 17:23 عصر
سلام
من یک list<int> دارم که میخوام به عنوان ورودی به sp بفرستم و در sp با دستور in چک کنم id هاییکه در لیست هستند را select کنه
نوع ستون id ها int هست پس نمیتونم لیستم را بصورت زیر بفرستم :
'1,2,3'
ممنون میشم راه حلهایی که به ذهنتون میرسه را بگید
ham3d1988
دوشنبه 06 بهمن 1393, 19:40 عصر
2راه دارین
میتونید دیتای موجود توی ستونهارو به همون شکلی که گفتید به یه رشته تبدیل کرده و بینشون کاما بزارید بعدش اون سمت توی یه داینامیک کوئری بیاریدش
یا یه دیتاتایپ از نوع تیبل ایجاد کنی. بعدش اونو به عنوان ورودی پراسیجر در نظر بگیری. توی برنامه هم جنس ورودی پراسیجرو SqlDbType.Structured تعیین کنی
راه حل اول بهتر و سریع تره
En_MK
دوشنبه 06 بهمن 1393, 19:57 عصر
جالبه تا چندساعت پیش من string میفرستادم ارور میداد که نمیشه string را به int کانورت کرد
در حالیکه کوئری dynamic نوشته بودم اما الان جواب میده
declare @sql as varchar(990)
declare @id as varchar(100)
set @id='1,2,3'
set @sql=' select * from testList where Id in
('+ @id+')'
exec(@sql)
خیلی ممنون دوست عزیز
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.