C# 插入中的随机特殊字符

C# 插入中的随机特殊字符,c#,sql-server,C#,Sql Server,我在C#(Sql server(LocalDB)\v11.0)中有以下代码 如果定义属性没有特殊字符,则执行插入。但是 有时它有一个未知的特殊字符,我收到了错误 for() { if(){ DB.Docommand("INSERT INTO Test5(P_Def) VALUES('"+ pro.Definition + "')"); } } 在数据库中,数据类型为nvarchar(Max) 但我收到以下错误: 附近的语法不正确 我想用特殊字符插入我的属性。 我能

我在C#(Sql server(LocalDB)\v11.0)中有以下代码 如果定义属性没有特殊字符,则执行插入。但是 有时它有一个未知的特殊字符,我收到了错误

 for()
  {
  if(){
  DB.Docommand("INSERT INTO Test5(P_Def) VALUES('"+ pro.Definition + "')");
      }
  }
在数据库中,数据类型为nvarchar(Max) 但我收到以下错误:

附近的语法不正确

我想用特殊字符插入我的属性。 我能做什么?
谢谢

参数化您的插入。除了能够插入包含
nvarchar
中有效字符的字符串外,您还可以通过避免以下潜在问题来解决一个主要的安全问题:


参数化插入。除了能够插入包含
nvarchar
中有效字符的字符串外,您还可以通过避免以下潜在问题来解决一个主要的安全问题:


短答案是将
值('''+
更改为
值('''+
可能重复的短答案是将
值('''+
更改为
值('''+
可能重复的短答案)
var cmd = new SqlCommand("INSERT INTO Test5(P_Def) VALUES(@Def)", con);
cmd.Parameters.AddWithValue("@Def", pro.Definition);