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 هست ممنون ميشم راهنماييم كنيد
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 هست ممنون ميشم راهنماييم كنيد