Delphi:使用参数时如何获取传递到服务器的查询

发布于 2024-09-17 08:40:40 字数 477 浏览 6 评论 0原文

我有一个带有 Devart TMSQuery.SQL 内参数的查询。 一样

select * from customers
where customer = :CustomerID

像在代码中

// Delphi
sqlcustomer.ParamByName('CustomerID').asinteger := 4;
sqlcustomer.open;

,我想调试并查看发送到服务器的确切sql命令,如果我尝试使用TMSQuery.sql,我只有:CustomerID,而我想要这个:

select * from customers
where customer = 4

有没有一种快速的方法没有读取所有参数并重建许多查询就可以得到这个吗?

当然,我有一个非常大的查询,有超过 100 个参数,这就是我需要这个的原因

I have a query with parameters inside a Devart TMSQuery.SQL. Something like

select * from customers
where customer = :CustomerID

in code I do

// Delphi
sqlcustomer.ParamByName('CustomerID').asinteger := 4;
sqlcustomer.open;

I want to debug and see the exact sql command sent to the server, if I try to use TMSQuery.sql I just have the :CustomerID, while I would like to have this:

select * from customers
where customer = 4

is there a quick way to have this without reading all the parameters and reconstructing manyally the query?

Of course I have a very big query with more than 100 parameters, this is why I need this

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

调妓 2024-09-24 08:40:40

发送到服务器的参数化查询的实际 SQL 语句从不包含参数值的文本表示。相反,它使用占位符字符,例如问号。在您的示例中,这将是从客户中选择*,其中customer = ?
这是在服务器上准备的,然后客户端在单独的调用中发送参数值。

The actual SQL statement of a parameterized query which is sent to the server never contains textual representation of the parameter values. Instead, it uses placeholder characters, e.g. question marks. In your example, this would be select * from customers where customer = ?
This is prepared on the server and parameter values are then sent by the client in a separate call.

夜深人未静 2024-09-24 08:40:40

如果您使用 Devart 组件,那么它们有一个 TMSSQLMonitor 组件可能会有所帮助。如果您通过 odbc 连接,则可以通过在 odbc 选项卡上打开跟踪来监视 sql。

如果您使用其他组合,请描述。

If you're using Devart components then they have a TMSSQLMonitor component which may help. If you're connecting via odbc you can monitor the sql by turning on tracing on the odbc tab.

If you're using some other combination please describe.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文