正如主题所暗示的那样,我希望能够使用 .NET(实际上与哪种语言无关)和 SQL Server 将表名作为参数传递。
我知道如何对值执行此操作,例如在查询中command.Parameters.AddWithValue("whatever", whatever)
使用来表示参数。@whatever
问题是我处于希望能够对查询的其他部分(例如列名和表名)执行此操作的情况。
这不是一个理想的情况,但它是我必须使用的,它不太容易发生 SQL 注入,因为只有使用代码的人才能设置这些表名,而不是最终用户。然而它很乱。
那么,我要问的可能吗?
编辑:为了清楚说明 SQL 注入,表名仅由源代码传入,具体取决于具体情况。指定这一点的是开发人员。无论如何,开发人员都可以访问数据库层,所以我问的原因不是为了安全,而是为了让代码更干净。