Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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# 如何从C中的存储过程中获取所选值?_C#_Sql Server_Stored Procedures - Fatal编程技术网

C# 如何从C中的存储过程中获取所选值?

C# 如何从C中的存储过程中获取所选值?,c#,sql-server,stored-procedures,C#,Sql Server,Stored Procedures,当查看存储过程时,逻辑似乎是do stuff,然后选择1作为add_success。如何在C中检查add_success值 密码 它似乎在正确地执行所有操作,但ExecuteOnQuery的默认返回值是受影响的行,并且始终为-1,即使所有操作似乎都已成功完成 我还尝试添加一个返回值为add_success和@add_success的参数,但这似乎也不起作用 如何从存储过程向C返回值 您需要使用command.ExecuteScalar。 结果将是结果集中第一个表的第一行。 请尝试SqlComma

当查看存储过程时,逻辑似乎是do stuff,然后选择1作为add_success。如何在C中检查add_success值

密码 它似乎在正确地执行所有操作,但ExecuteOnQuery的默认返回值是受影响的行,并且始终为-1,即使所有操作似乎都已成功完成

我还尝试添加一个返回值为add_success和@add_success的参数,但这似乎也不起作用

如何从存储过程向C返回值

您需要使用command.ExecuteScalar。 结果将是结果集中第一个表的第一行。 请尝试SqlCommand.ExecuteScalar方法,而不是ExecuteOnQuery

using (SqlConnection connection = new SqlConnection(_connectionString)) {
  using (SqlCommand command = new SqlCommand("<sprocname>", connection)) {
    command.CommandType = CommandType.StoredProcedure;
    command.Parameters.Add(<a parameter>); // x10 or so
    connection.Open();
    var result = command.ExecuteNonQuery();
    // result is always -1, despite the sproc doing everything it is supposed to do (modify a few different tables)
// Do some stuff including inserts on a few different tables, then
INSERT INTO Table (field1, field2)
VALUES (@Val1, @Val2)

SELECT 1 AS add_success