SQL Server 上 ado.net 中的多个参数化 sql 语句

发布于 2024-08-19 19:00:05 字数 453 浏览 3 评论 0原文

我在 ADO.NET 中使用 SqlCommand 批量执行两个参数化问题时遇到问题。 (我想减少往返次数并避免 ping)

由于我不希望执行计划污染,我希望 ADO.NET 将我的 CommandText 从 “stmt1; stmt2”,其中属于 stmt1 和 stmt2 的所有参数都添加到 SqlCommand.Parameters 中

sp_executesql 'stmt1', 'paramdecl', param1values;
sp_executesql 'stmt2', 'paramdec2', param2values

但我找不到实现此目的的方法。

我也无法获得每个 SqlCommand 发送到 sql-server 的完整文本,以便我可以自己组合其中两个。

我该怎么做?

此致,

延斯·诺登布罗

I have a problem executing two parameterized questions in one batch using SqlCommand in ADO.NET. (I want to reduce round-trips and avoid pinging)

Since I don't want execution plan pollution I expect ADO.NET to transform my CommandText from
"stmt1; stmt2" with all parameters belonging to stmt1 and stmt2 added to SqlCommand.Parameters

to:

sp_executesql 'stmt1', 'paramdecl', param1values;
sp_executesql 'stmt2', 'paramdec2', param2values

But I can't find a way to make this happen.

Neither can I get the complete Text that is being sent to sql-server per SqlCommand so that I can combine two of them myself.

How do I do it?

Regards,

Jens Nordenbro

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

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

发布评论

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

评论(1

枕头说它不想醒 2024-08-26 19:00:06

您是否期望 sql 语句返回任何返回值/结果集?
每个语句的参数是否不同?

您可以使用 SQL Profiler 来监控访问数据库的 SQL 语句。

您可以使用单个 SQLConnection 对象并在关闭连接之前提交多个命令。您必须丢弃 sqlCommand 或清除它,然后再将其重新用于下一个查询。

亚当

Do you expect any return values/result sets from the sql statements?
Are the parameters for each statement different?

You can use SQL Profiler to monitor the SQL statments hitting the database.

You can use a single SQLConnection object and submit multiple commands before closing the connection. you will either have to dispose of the sqlCommand or clear it before re-using it again for your next query.

Adam

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