表名称可以在 .NET/SQL 中参数化吗?
尽管可以使用 command.Parameters.AddWithValue("whatever 参数化值) “,无论如何)使用 @whatever 作为查询中的参数,用户有时会寻求对其他查询组件执行相同操作的能力,例如列和表名。虽然这不是理想的情况,但由于外部限制,这可能是必要的。
但是,表名称的直接参数化是不可能的。间接方法涉及使用 sp_ExecuteSQL,但另一种解决方案是在 C# 中构造 TSQL 语句(除了表名串联之外的参数化)并将其作为命令发送。这种方法提供了与直接参数化类似的安全措施。
为了确保安全,将表名列入白名单以防止恶意行为者利用系统至关重要。
以上是我可以在 .NET/SQL 查询中参数化表名称吗?的详细内容。更多信息请关注PHP中文网其他相关文章!