01/10/2018, 10:15

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

Tuan Bui viết 12:16 ngày 01/10/2018

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'

Interns viết 12:27 ngày 01/10/2018

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

Tuan Bui viết 12:26 ngày 01/10/2018

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

Interns viết 12:29 ngày 01/10/2018

à 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', '' ,''
Tuan Bui viết 12:17 ngày 01/10/2018

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# ???

Interns viết 12:26 ngày 01/10/2018

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

Tuan Bui viết 12:23 ngày 01/10/2018

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ụ :

  • Đầu tiên bạn cần phải khai báo đối tượng [NameFile]DataContext db = new [NameFile]DataContext()
  • Để sử dụng Store Procedure thì bạn chỉ cần db.[Name Stored Procedures](parameter_1,parameter_2,...,parameter_n).
    Chi tiết hơn bạn có thể xem hướng dẫn tại đây : https://weblogs.asp.net/scottgu/linq-to-sql-part-6-retrieving-data-using-stored-procedures
Bài liên quan
0