2010-03-23 63 views
0

是否有一种直接的方式来查看DbCommand对象实际上针对底层数据库执行的SQL命令文本(即在将参数处理为语句之后)?如何获得.Net(VB或C#)中参数化查询实际执行的SQL?

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

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

回答

1

由服务器执行的实际SQL正是您所写的。这些参数是从命令本身单独发送的,所以它们实际上不会被SQL命令中的值替换。

+0

谢谢托马斯 - 我想我不明白这个工作方式。所以数据库API被用来在幕后进行绑定。 – 2010-03-23 20:40:53