参数化全文搜索查询

时间:2019-05-25 06:46:53

标签: c# sql-server

我有一个全文搜索查询,并尝试向其中添加Sql参数。 这是我的代码

using (var connection = GetDbConnection())
         {
            connection.Open();
            using (var cmd =
               new SqlCommand(
                  string.Format("ALTER FULLTEXT STOPLIST [{0}] ADD @stopWord LANGUAGE [{1}];", stopWord.StopList,
                     stopWord.Language), (SqlConnection)connection))
            {
               cmd.Parameters.AddWithValue("@stopWord", stopWord.StopWord);

               cmd.ExecuteNonQuery();
            }
         }

但是它引发了错误

  

“ @ stoplist”附近的语法不正确。 ->   System.Data.SqlClient.SqlException:“ @ stoplist”附近的语法不正确。

如何构造查询以防止SQL注入? 例如,作为stopWord值,我可以使用引号

来发送它
  

测试的

1 个答案:

答案 0 :(得分:2)

转义单引号

stopWord.StopWord = stopWord.StopWord.Replace("'", "''")