首页 >数据库 >mysql教程 >我可以在 .NET/SQL 查询中参数化表名称吗?

我可以在 .NET/SQL 查询中参数化表名称吗?

Barbara Streisand
Barbara Streisand原创
2024-12-18 03:44:09131浏览

Can I Parameterize Table Names in .NET/SQL Queries?

表名称可以在 .NET/SQL 中参数化吗?

尽管可以使用 command.Parameters.AddWithValue("whatever 参数化值) “,无论如何)使用 @whatever 作为查询中的参数,用户有时会寻求对其他查询组件执行相同操作的能力,例如列和表名。虽然这不是理想的情况,但由于外部限制,这可能是必要的。

但是,表名称的直接参数化是不可能的。间接方法涉及使用 sp_ExecuteSQL,但另一种解决方案是在 C# 中构造 TSQL 语句(除了表名串联之外的参数化)并将其作为命令发送。这种方法提供了与直接参数化类似的安全措施。

为了确保安全,将表名列入白名单以防止恶意行为者利用系统至关重要。

以上是我可以在 .NET/SQL 查询中参数化表名称吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn