【问题标题】:Call stored procedure with parameters using Web API使用 Web API 调用带参数的存储过程
【发布时间】:2016-12-13 18:18:45
【问题描述】:

当我在 SQL Server 中执行这个存储过程时:

use Vcom
go
exec abrir_turno @posto = 'pppe', @turno = '3', @data = '2016-06-13'

SQL Server 返回一条消息:

你的 SP 设置 pppe 打开

我正在尝试使用带有 C# 的 Web Api 2 来实现它:

public IEnumerable<string> spabrirturno(string posto, string turno, string data, string STATUS_TURNO)
{
   STATUS_TURNO = null;

   return obj.abrir_turno(posto, turno, data, STATUS_TURNO).AsEnumerable();
}

但我得到一个错误:

无法将类型 IEnumerable 隐式转换为字符串

照片中的信息...

【问题讨论】:

  • 我一生中从未编写过一行 C#,但我敢打赌&lt;string&gt; 说这个函数必须有一个string 类型的返回值,而@ 987654327@ 方法返回一个ienumerable。此外,这似乎是两个完全不相关的问题,您应该为每个问题发布 一个 问题。

标签: c# sql-server stored-procedures asp.net-web-api2


【解决方案1】:

obj.abrir_turno 返回 abrir_turno_Result 的集合,而不是字符串。您需要从结果中选择所需的值。在 AsEnumerable 之前,添加

.Select(m => m.WhateverPropertyName)

【讨论】:

    猜你喜欢
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    相关资源
    最近更新 更多