回答

收藏

N前缀和参数

技术问答 技术问答 249 人阅读 | 0 人回复 | 2023-09-12

我有一些存储过程7 N* h# Y" r" \
CREATE PROC MyProc ( @FullName NVARCHAR(200) = NULL )  AS --.............当我调用此proc时,exec MyProc 'Some english text效果很好。
" z* j. e- C" R6 r! x; x, h. o, j但是,如果exec MyProc
* V) U( M2 v: G4 _) @通话exec MyProc N」" m8 [& I# H% j6 K. y
我有一个客户端应用程序,…我需要添加参数N前缀?如果是,该怎么办?
" Q2 o2 k# r3 d2 K: k, v$ u5 s; Z                                                               
  T" ~: f% Y( L# h- G* P! h. o- i: S    解决方案:                                                               
9 |6 X/ U/ R0 a! ], o6 e7 \                                                                仅在将.net当代码中的字符串联时,需要N(手动)SQLParameter声明为nvarchar,这是自动的:框架将为您处理。
. z# ]3 A9 H! W% X因此,您的客户端代码 不正确    ,让你进行 SQL注入
4 V/ f1 X9 @+ J/ i; J6 J  P无论如何,N表示字符串文字是unicode。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则