【问题标题】:Check raw DB query after parameter binding in ASP.NET在 ASP.NET 中进行参数绑定后检查原始数据库查询
【发布时间】:2020-06-30 12:54:15
【问题描述】:

我正在使用带有 SqlConnection 和 SqlCommand 的 ASP.NET 进行查询。我正在使用 AddWithValue 方法向查询添加参数,以避免 SQL 注入。

出于调试目的,我想在包含参数后检查结果查询。如果我有“WHERE name = @myName”,我想在 @myName 被替换后查看查询。这可能吗?

谢谢。

【问题讨论】:

  • 并非如此,因为 .NET 从不发送完整的查询。查询由数据库在接收到 SQL 字符串和参数值时组装。您最多可以做的是记录 SQL 字符串,并记录您传递给它的参数的值。从中您应该仍然能够轻松推断出实际执行的查询。
  • 好的,谢谢,我想这样做,因为我知道它可以在其他框架上完成。如果您将其发布为答案,我可以接受。
  • 我已经添加了答案。出于兴趣,您具体考虑的是什么框架?任何正确使用参数化查询的东西都会有同样的问题。

标签: sql asp.net ado.net parameterized-query


【解决方案1】:

并非如此,因为 .NET 从不发送完整的查询。数据库在接收到 SQL 字符串和参数值时组装查询。

您最多只能记录 SQL 字符串,并记录您传递给它的参数的值。从中您应该仍然能够轻松推断实际执行的查询。

【讨论】:

    猜你喜欢
    • 2018-08-11
    • 2018-11-04
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    • 2014-01-18
    • 2015-05-26
    相关资源
    最近更新 更多