我需要从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
名称空间中的SqlCommand
和System.Data.SqlClient
。
通过SqlCommand
调用存储过程后,您将能够捕获该存储过程引发的异常,如果需要的话,我们也会读取该过程的返回值。
关于c# - 从C#启动sqlcmd时如何检索错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/73051/