SQL Server 上 ado.net 中的多个参数化 sql 语句
我在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否期望 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