【问题标题】:How to get the SQL actually executed by a parameterized query in .Net (VB or C#)?如何让.Net(VB或C#)中的参数化查询实际执行的SQL?
【发布时间】:2023-03-26 12:00:02
【问题描述】:

是否有一种直接的方式来查看由DbCommand 对象对底层数据库实际执行的 SQL 命令文本(即在参数被处理成语句之后)?

这里有详细信息:我使用的是 VB.Net 3.5,并且有一个工厂对象 (DbProviderFactory) 和一个连接 (System.Data.IDbConnection)。我正在使用工厂使用DbProviderFactory.CreateCommand() 方法创建一个新的命令对象,然后将参数化查询分配给命令的CommandText 属性。稍后我创建一些参数并将其与查询关联(使用DbProviderFactory 创建)。

这很好,但我想看看命令对象生成的实际 SQL 语句。我目前正在针对 SQLite 数据库进行测试,但想知道是否有一种通用的方法可以工作。

【问题讨论】:

    标签: .net sql parameters


    【解决方案1】:

    服务器实际执行的 SQL 就是你写的。参数与命令本身分开发送,因此它们实际上永远不会被 SQL 命令中的值替换。

    【讨论】:

    • 谢谢 Thomas - 我想我不明白它的工作原理。所以后台使用数据库API做绑定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-01
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多