也许答案就在某处,但我找不到满足此要求的答案。
SQL 脚本可以包含任何类型的命令:
- 选择计数(*)....
- 选择 Field1、Field2、Field3...
- 插入表 1 (...) 值 (...)
- 修改表Table1
- 执行 ProcName1...
执行每个命令后,应捕获其结果,类似于 SSMS。所以上述命令的结果如下所示:
- 一列的结果代表行数(用于计数)
- 结果集列出所有行(用于选择)
- 插入的行数(用于插入)
- 命令成功完成(用于更改) ...
这个答案听起来不错 ( https://stackoverflow.com/a/1728859/4903729 ) 但无法捕获结果。
非常感谢任何建议。谢谢!
更新: 发现这很有用 https://github.com/DbUp/DbUp , 但它似乎没有回馈输出
最佳答案
要获取消息,您需要订阅事件 SqlConnection.InfoMessage
例如:
using (var cn = new SqlConnection(cs))
{
cn.InfoMessage += (sender, eventArgs) => Console.WriteLine(" Message: "+ eventArgs.Message);
我正在使用它来获取“SET STATISTICS IO ON”的输出(它与 ExecuteNonQuery 一起使用)
关于sql - 如何在 .NET 中执行 SQL 文件并处理所有可能的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39221405/