Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何控制ExecuteOnQuery_C#_Sql - Fatal编程技术网

C# 如何控制ExecuteOnQuery

C# 如何控制ExecuteOnQuery,c#,sql,C#,Sql,我的意思是,假设可以控制查询执行吗 例如,我得到了一个大查询,它做了很多事情,但突然它得到了一个错误,但我不想停止它的执行,我只想跳过这一步,继续下去 或者我想让用户知道服务器上正在发生的事情 我可以从Sql server得到一些反馈吗?例如“刚刚成功删除了触发器”或“我刚刚处理了表替换…So-n-So”您可以尝试将存储过程拆分为几个较小的部分,并将它们全部打包到事务中。当然可以。 使用 通过保存点,您可以控制哪些语句提交或不提交 最后,您可以通过out变量或 包含信息的表格。No。。我的意思

我的意思是,假设可以控制查询执行吗

例如,我得到了一个大查询,它做了很多事情,但突然它得到了一个错误,但我不想停止它的执行,我只想跳过这一步,继续下去

或者我想让用户知道服务器上正在发生的事情


我可以从Sql server得到一些反馈吗?例如“刚刚成功删除了触发器”或“我刚刚处理了表替换…So-n-So”

您可以尝试将存储过程拆分为几个较小的部分,并将它们全部打包到事务中。

当然可以。 使用

通过保存点,您可以控制哪些语句提交或不提交

最后,您可以通过out变量或
包含信息的表格。

No。。我的意思是如何从您的c代码控制sql脚本的运行时?这不完全是storeproc。我正在尝试运行ManagementStudio向导从我的c#代码生成的脚本,以基于该脚本创建数据库。有时出于某种原因,它会抛出异常。但我想控制脚本的生命周期,跳过那些有问题的部分,并且我想在我的应用程序日志中通知用户脚本的哪一部分(实际的t-sql语句)目前正在正常工作。理论上这是可能的,对吗?如果修改向导生成的脚本,可以插入变量并定期更新,以便跟踪进度。如果在脚本中的每个语句之后插入代码检查错误(使用@@ERROR),则可以退出脚本并将错误和进度变量传递回调用程序。至于报告进度,我认为最好的方法是将向导中的脚本分成几个较小的部分,按顺序调用它们,并在每个部分执行后向用户报告进度。是的,我将整个脚本拆分为较小的部分。我不知道GO命令实际上并不完全是t-sql命令。起初,我很惊讶为什么Database.ExecuteNonQuery()可以毫无问题地获取整个脚本,但类似的SqlCommand.ExecuteNonQuery()却不能。我的意思是,如果我尝试运行由SQL管理脚本向导生成的脚本,从我的c#代码中使用类似ExecuteNonQuery的东西或其他东西。我怎样才能控制它?
SAVE { TRAN | TRANSACTION } { savepoint_name | @savepoint_variable }
[ ; ]