SQL use Unicode N in a Stored Procedure with variable
我具有以下存储过程,我正在寻找正确的语法,因此我可以在"注释"列中播放"注释"值,前端应使用N表示Unicode值,我需要保存俄语字符值
因此,目前正在像这样传递注释值
@评论
我想做
N @条评论,但不起作用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | ALTER PROCEDURE [dbo].[spInsertContactUs] ( @title VARCHAR(20) = DEFAULT, @forename VARCHAR(100) = DEFAULT, @surname VARCHAR(100) = DEFAULT, @gender VARCHAR(50) = DEFAULT, @address1 VARCHAR(100) = DEFAULT, @address2 VARCHAR(100) = DEFAULT, @city VARCHAR(50) = DEFAULT, @county VARCHAR(50) = DEFAULT, @country INT = DEFAULT, @zipcode VARCHAR(50) = DEFAULT, @email VARCHAR(200) = DEFAULT, @comments NVARCHAR(MAX) = DEFAULT, @mailinglist BIT = DEFAULT, @address3 VARCHAR(100) = DEFAULT, @dateOfBirth datetime = DEFAULT ) AS SET NOCOUNT ON INSERT INTO tblContactUs ( dateAdded, title, forename, surname, gender, address1, address2, city, county, country, zipcode, email, comments, mailinglist, address3, dateOfBirth) VALUES ( getdate(), @title, @forename, @surname, @gender, @address1, @address2, @city, @county, @country, @zipcode, @email, @comments, @mailinglist, @address3, @dateOfBirth ) SET NOCOUNT OFF RETURN |
;
在表的字段和存储的procs参数中使用
已添加
查看此链接,也许这会对您有所帮助。
这有效。我自己弄清楚了:
1 | Command.Parameters.Add("@prc", SqlDbType.NVarChar).Value = strPrc; |
您需要将SqlDbType更改为NVarChar。您还需要将字段更改为Nvarchar字段,并将存储过程也更改为该字段。
1 2 3 4 5 | DECLARE @a nvarchar(50) SET @a =N'???' EXEC('INSERT INTO [dbo].[tblP] ([productVal],[name],[month]) VALUES ( 9, '+'N'''+@a+''',1)') INSERT INTO [dbo].[tblP] ([productVal],[YEAR],[MONTH]) VALUES ( 9, N'???',1) |