ورود

View Full Version : مشكل در گرفتن خروجي از sql



akram_k
جمعه 17 شهریور 1391, 10:53 صبح
سلام به همه من براي جستجو توي بانكم از يك store procedure استفاده ميكنم و پارامتر هايي كه بايد جستجو بشن رو به اون ارسال ميكنم و با توجه به اينكه ميخوام اگه كاربر حتي قسمتي از اون فيلد ( مثلا نام ) رو وارد كنه باز هم جستجو انجام بشه از عبارتي مثل زير استفاده كردم


if @code=0
if @name=''
if @grade=''
if @kind=2
select * from product
else
select * from product where recycle =@kind
else
if @kind=2
select * from product where grade like N'%@grade%'
else
select * from product where recycle =@kind and grade like N'%@grade%'
else
if @grade=''
if @kind=2
select * from product where name like N'%@name%'
else
select * from product where recycle =@kind and name like N'%@name%'
else
if @kind=2
select * from product where grade like N'%@grade%' and name like N'%@name%'
else
select * from product where recycle =@kind and grade like N'%@grade%' and name like N'%@name%'
else
if @name=''
if @grade=''
if @kind=2
select * from product where id=@code
else
select * from product where recycle =@kind and id=@code
else
if @kind=2
select * from product where grade like N'%@grade%' and id=@code
else
select * from product where recycle =@kind and grade like N'%@grade%' and id=@code
else
if @grade=''
if @kind=2
select * from product where name =@name and id=@code
else
select * from product where recycle =@kind and name like N'%@name%' and id=@code
else
if @kind=2
select * from product where grade like N'%@grade%' and name like N'%@name%' and id=@code
else
select * from product where recycle =@kind and grade like N'%@grade%' and name like N'%@name%' and id=@code

اما جستجو رو درست انجام نميده فكر ميكنم وقتي مقادير از c# بهش ارسال ميشه به جاي كاراكتر هاي فارسي علامت ؟ ارسال ميشه با اينكه نوع داده ها در sql از نوع nvarchar هست ممنون ميشم راهنماييم كنيد

pashna
یک شنبه 19 شهریور 1391, 05:38 صبح
اوه اوه، چی‌ کار کردی ؟
به سبک .NET کؤری نوشتی‌ ؟ به نظرم الان اینکه از Query دینامیک استفاده کن، دوم این که ۱ پرفیلر بذار ببین از #C چی‌ داری میفرستی تا مطمئن بشی‌ مشکل از اونجاست.

Felony
یک شنبه 19 شهریور 1391, 06:16 صبح
پست شماره 2 این تاپیک : http://barnamenevis.org/showthread.php?359424-%D9%86%D9%88%D8%B4%D8%AA%D9%86-%DA%A9%D9%88%D8%A6%D8%B1%DB%8C-%D8%B7%D9%88%D8%B1%DB%8C-%DA%A9%D9%87-%D8%A7%D8%B2-Daynamic-Query-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D9%86%DA%A9%D9%86%DB%8C%D9%85