Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
Stored procedures 如何异步运行存储过程并继续使用C中的其他语句#_Stored Procedures_Ado.net_Execute_Asynchronous - Fatal编程技术网

Stored procedures 如何异步运行存储过程并继续使用C中的其他语句#

Stored procedures 如何异步运行存储过程并继续使用C中的其他语句#,stored-procedures,ado.net,execute,asynchronous,Stored Procedures,Ado.net,Execute,Asynchronous,下面是我编写的代码,希望能够异步启动存储过程,并让调用下的代码运行,以便进行必要的UI更改但这只在我从VisualStudio运行时有效,在我放置断点时也有效。当我删除断点时,它不会在以下行之后运行代码:- IAsyncResult result=command.beginExecutenQuery() 然而,我只是假设它没有运行,但我不确定,因为我不知道如何正确地知道它是否正在运行,这取决于我能说的输出。按钮隐藏或可见性逻辑不起作用 我想,因为上面的语句是异步的,所以我可以根据需要实现执行 为

下面是我编写的代码,希望能够异步启动存储过程,并让调用下的代码运行,以便进行必要的UI更改但这只在我从VisualStudio运行时有效,在我放置断点时也有效。当我删除断点时,它不会在以下行之后运行代码:-

IAsyncResult result=command.beginExecutenQuery()

然而,我只是假设它没有运行,但我不确定,因为我不知道如何正确地知道它是否正在运行,这取决于我能说的输出。按钮隐藏或可见性逻辑不起作用

我想,因为上面的语句是异步的,所以我可以根据需要实现执行

为了实现此代码,我参考了以下内容:-


您似乎正在检查,以查看查询是否通过调用自定义方法
GetCurrentRunningJob
完成

如果是这样的话,你不需要这样做。相反,如果操作完成,您可以查看结果上的属性-true;否则,false

IAsyncResult result = command.BeginExecuteNonQuery();

while (!result.IsCompleted)
{
   // your code
}

command.EndExecuteNonQuery(result);

谢谢你,我会尝试的很好!!!!!很有效,谢谢。但是这个想法是为了找出sql作业是否正在运行,这就是我使用该方法的原因。作业开始的那一刻,我在一个表中做了一个条目,我用来获取状态的方法(GetCurrentRunningJob)给出了该表中的状态,并根据该状态向用户显示它是否已开始。使用您的技术有助于代码的执行,但我必须假设作业已成功启动。我想知道它是否启动了。您是否考虑过
ExecuteNonQueryAsync
async
/
wait
IAsyncResult result = command.BeginExecuteNonQuery();

while (!result.IsCompleted)
{
   // your code
}

command.EndExecuteNonQuery(result);