【发布时间】:2016-01-25 05:47:54
【问题描述】:
我已经在 sql 中实现了内联表值函数。我正在尝试使用 ado.net 读取从 C# 中的内联表值函数返回的表值。请帮忙。我在这里附上代码。
Sql函数:-
CREATE FUNCTION fun
(
@lname varchar(50)
)
RETURNS TABLE
AS
RETURN
(
select fp.accntname,ld.BU,fp.salesop,idt.isdormant from legacy_system as ls
inner join fourth_page as fp on ls.accountname=fp.accountname
inner join linked as ld on fp.productid=ld.productid
inner join isdormant as idt on idt.productid=ld.productid
inner join legacy_system as l on ls.productid=idt.productid
where l.legacyname in(@lname)
)
GO
C#代码:-
[HttpPost]
public void call_stored_procedure(List<string> lyname)
{
Console.WriteLine(lyname);
string dogCsv = string.Join(",", lyname.Select(i => "'" + i + "'"));
Console.WriteLine(dogCsv);
using (SqlConnection connection = new SqlConnection("data source=.; database=Srivatsava; integrated security=SSPI"))
{
connection.Open();
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = "select dbo.fun(@lname)";
command.Parameters.AddWithValue("@lname", dogCsv);
command.CommandType = CommandType.Text;
String s=command.ExecuteScalar().ToString();
Console.WriteLine(s);
connection.Close();
}
}
}
【问题讨论】:
标签: c# asp.net sql-server asp.net-mvc ado.net