我需要从C#应用程序运行存储过程。

我使用以下代码来做到这一点:

Process sqlcmdCall = new Process();
sqlcmdCall.StartInfo.FileName = "sqlcmd.exe";
sqlcmdCall.StartInfo.Arguments = "-S localhost\\SQLEXPRESS -d some_db -Q \":EXIT(sp_test)\""
sqlcmdCall.Start();
sqlcmdCall.WaitForExit();


调用完成后,从sqlcmdCall对象中,我当前获得-100表示​​成功的ExitCode,如果失败则返回1。

如何自定义这些返回码?

H。

最佳答案

如果尝试从c#调用存储过程,则需要使用ADO.Net,而不是通过命令行调用sqlcmd。查看SqlConnection名称空间中的SqlCommandSystem.Data.SqlClient

通过SqlCommand调用存储过程后,您将能够捕获该存储过程引发的异常,如果需要的话,我们也会读取该过程的返回值。

关于c# - 从C#启动sqlcmd时如何检索错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/73051/

10-11 02:07