当我必须动态创建sql语句时,如何使用参数来防止sql注入

本文关键字:sql 何使用 参数 注入 动态 语句 创建 | 更新日期: 2023-09-27 17:58:39

我有一个部分可能的代码,如下所示。我必须通过使用类似添加代码的参数来防止SQL注入

myCommand.Parameters.AddWithValue("@mystring", myString);

有可能使用它吗?

因为我有一些动态参数,比如"选择XXX,XXX,……"。

count = myStringLists.count;
sql.Append(" select");
foreach(string myString in myStringLists)
{    
    sql.Append(string.Format("{0} ", myString));
    if ((count--) > 1) sql.Append("'n ,"); else sql.Append("'n  ");
}

当我必须动态创建sql语句时,如何使用参数来防止sql注入

您可以使用sp_executesql执行动态sql

请参阅sp_executesql