سلام برا جستجوی یک چیزی شبیه عبارت وارد شده باید چطوری select بنویسم؟؟
کد بالا کجاش اشتباست؟؟کد:ALTER PROCEDURE [dbo].[searchmaster]@p nvarchar(50)
AS
select * from mail where mailmaster like '%'@p'%'
Printable View
سلام برا جستجوی یک چیزی شبیه عبارت وارد شده باید چطوری select بنویسم؟؟
کد بالا کجاش اشتباست؟؟کد:ALTER PROCEDURE [dbo].[searchmaster]@p nvarchar(50)
AS
select * from mail where mailmaster like '%'@p'%'
من بعد از where همش براش یه شرط معمولی میزارم
در ضمن آخرش دیگه NameTable@ نیست بعد از @ بجای اسم جدول باید اسم یکی از مقدار هایی که توی جدول هست باشه + یک شرط برای اون مقدار که حالا چطور باشه اون مقدار
مثلا اگه mailmaster یه عدد هست و شما میخواید اعداد بزرگتر از اون توی جدول رو انتخاب کنید:
کد:where mailmaster>@mailmaster
RETURN
برای جستجو با linq میتونی از حالت های زیر استفاده کنینقل قول:
[PHP]LIKE 'a%' => StartsWith("a")
LIKE '%a' => EndsWith("a")
LIKE 'a%b' => StartsWith("a") && EndsWith("b")
LIKE '%a%b%' => StartsWith("a") && Contains("b")
LIKE '%a%' => Contains("a")[/PHP]
به عنوان مثلا
[PHP]
var quary=from result in db
where result.txtname.contains("f");[/PHP]
من اگه بخوام از and باید چکار کنم؟؟؟نقل قول:
کد:var quary=from result in db
where result.txtname.contains("f");
...
....
.....
......
چرا این پراسجر جواب نمیده؟؟
کد:CREATE PROCEDURE [dbo].[s]@p nvarchar(50)
AS
select * from mail where mailmaster like '%'+@p +'%'
استور پراسیجر رو نمیدونم چرا جواب نمیدهنقل قول:
اما روش استفاده از and در linq به این شکله
[PHP]var query = from cust in customers
where cust.City == "Iran" && cust.name=="tehran"
select cust;[/PHP]
سلام.
شرمنده ولی من ربط کدی که نوشتین رو با LINQ متوجه نمیشم.
اگه میخواید که از LINQ استفاده کنید هم این دوستمون بالا توضیح دادن هم من تو اون یکی تاپیک Dynamic Search رو با LINQ براتون نوشتم.
ولی اگه میخواید از SP کنید که برمیگرده به T-SQL.
این SP رو هم تو محیط SQL تست کردم درست جواب میداد. مشکل شما دقیقا با این SP چی هست؟
مشکل اینه که هیچی پیدا نمیکنه
دیتای فارسی بهش پاس میدین؟
اگه آره یه N قبل % اول بعد Like بزارید ببینین درست میشه؟
این کار باعث میشه عبارتی که دارین باهاش جستجو میکنید یونیکد بشه.
یعنی این شکلی میشه
کد:CREATE PROCEDURE [dbo].[s]@p nvarchar(50)
AS
select * from mail where mailmaster like N'%'+@p +'%'