N前缀和参数

Ale*_*dre 3 sql sql-server-2008-r2

我有一些存储过程

CREATE PROC MyProc ( @FullName NVARCHAR(200) = NULL )
    AS --.............
Run Code Online (Sandbox Code Playgroud)

当我打电话给这个过程,因为exec MyProc 'Some english text'它运作良好.

但如果将其称为exec MyProc '??????? ?????'使用俄语字母,则无法正常工作.

这个电话exec MyProc N'??????? ?????'再次运作良好.

我有一个客户端应用程序和...我需要在参数中添加N前缀?如果是,我该怎么办?

gbn*_*gbn 6

如果要连接.net代码中的字符串,则只需要(手动)N. 如果您将SQLParameter声明为nvarchar,它会自动执行:框架会为您处理它.

因此,您的客户端代码不正确,并打开SQL注入

无论如何,N说字符串文字是unicode.