Cách truyền tham số có kí tự unicode vào store procedure trong sql

Mình có 1 store như sau

ALTER PROC [dbo].[Products_Search_1]
@BranchName	          	nvarchar(50),
@CaterogyName			nvarchar(50),
@ProductName			nvarchar(100)
AS
BEGIN
SELECT		*
FROM		Products			P
INNER JOIN	Categories			C
	ON	P.CategoryId	        =	C.CategoryId

INNER JOIN	Branchs			        B
	ON	P.BranchId		=	B.BranchId

WHERE		(B.BranchName    	=  	@BranchName	OR	@BranchName	='')
       AND	(C.CategoryName	        =	@CaterogyName	OR	@CaterogyName	='')
       AND	P.ProductName	        LIKE	'%' + RTRIM(@ProductName) +'%'
END

Khi mình thưc thi store

Products_Search_1 'Bến tre', '' ,''

Thì nó không ra kết quả bởi vì giá trị biến @BranchName sai

print (@BranchName)
thì nó ra là B?n tre

Làm thế nào để khắc phục vấn đề này vậy mọi người

Chào bạn @huyenthoai. Để hiển thị được kiểu NVARCHAR trong SQL thì bạn chỉ cần thêm N vào trước nhé. Ví dụ N'Bến Tre'

store mình vậy đó.
Bạn chỉ mình cách thêm sao vs???

Mình vẫn chưa hiểu rõ yêu cầu thêm của bạn là gì ???

à quên nói với bạn là mình dùng LINQ to SQL để gọi store
Còn nếu thực thi ở SQL thì dễ rồi

exec Products_Search_1 N'bến tre', '' ,''

Bây giờ bạn muốn sử dụng Store Procedure mà bạn viết thông qua LINQ TO SQL trong C# ???

viết store trong SQL
gọi store thì dùng LINQ to SQL C#

Bạn có thể tạo file .dbml sau đó chỉ cần kéo thả Stored Procedures vào file .dbml là có thể sử dụng được nhé.
Ví dụ :

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?