C# 存储过程返回结果
我正在创建一个存储过程来生成项目列表。存储过程返回结果和返回值。在我的应用程序中,我调用的存储过程返回返回值。如何使其返回结果 这是我的程序:C# 存储过程返回结果,c#,sql,sql-server,stored-procedures,C#,Sql,Sql Server,Stored Procedures,我正在创建一个存储过程来生成项目列表。存储过程返回结果和返回值。在我的应用程序中,我调用的存储过程返回返回值。如何使其返回结果 这是我的程序: CREATE PROCEDURE [AQB_RMS].[p_SO2EmailOverDue] AS (SELECT CONVERT(CHAR(10), CheckDate, 101) AS ZSPDate, Manufacturer, Model, SerialNumber, LocationName
CREATE PROCEDURE [AQB_RMS].[p_SO2EmailOverDue]
AS
(SELECT
CONVERT(CHAR(10), CheckDate, 101) AS ZSPDate,
Manufacturer, Model, SerialNumber, LocationName
FROM
[AQB_RMS].[SO2_Zsp] so
INNER JOIN
AQB_MON.[AQB_RMS].[Device] dev ON dev.DeviceID = so.DeviceID
INNER JOIN
AQB_MON.[AQB_RMS].[DeviceLocation] dl ON dev.DeviceID = dl.DeviceID
INNER JOIN
AQB_MON.[AQB_RMS].[Location] loc ON dl.LocationID = loc.LocationID
INNER JOIN
[AQB_RMS].[ManufacturerModel] mm ON dev.ManufacturerModelID = mm.ManufacturerModelID
INNER JOIN
[AQB_RMS].[Manufacturer] man ON mm.ManufacturerID = man.ManufacturerID
WHERE
CheckDate = (SELECT MAX(CheckDate) FROM [AQB_RMS].[SO2_Zsp]
WHERE DeviceID = so.DeviceID)
AND dl.EndDate IS NULL
AND (SELECT DATEDIFF(day, so.CheckDate, GetDate()) AS DayCount) > 14)
ORDER BY
CheckDate
RETURN
GO
下面是我在SQL Server 2012中执行存储过程时的返回
我正在使用存储过程为电子邮件正文提供结果。我用的是c#
静态字符串体()
{
//创建到数据库的连接
string ConnString=ConfigurationManager.ConnectionString[“avdatauser”]。ConnectionString;
StringBuilder sb=新的StringBuilder();
使用(SqlConnection con=newsqlconnection(ConnString))
{
con.Open();
SqlCommand cmd=新的SqlCommand(“AQB_RMS.p_SO2EmailNearDue”,con);
cmd.CommandType=CommandType.storedProcess;
cmd.ExecuteNonQuery();
sb.追加(“SO2分析仪ZSP到期日””;
某人追加(“
”);
某人追加(“
”);
sb.Append(“你想在这里说些什么来说明这些是即将到期的具有ZSP的产品”);
某人追加(“
”);
某人追加(“
”);
sb.追加(“+cmd+”);
con.Close();
}
使某人返回字符串();
}
您的应用程序使用什么语言?调用SP并使用结果的代码是什么样子的?过程中的return语句用于返回一个整数,用于指示执行状态。不知道你在这里想做什么。您是否正在尝试将查询结果放入dotnet代码中的对象中?有几十种方法可以做到这一点,互联网上几乎有数百万个例子。我正在尝试使用存储过程返回ZSP Date、Manufacturer、Model和LocationName的结果值。我一直在查看所有的示例,并对这些示例感到困惑。如果您想读取SELECT
语句所选的数据,则不能调用.ExecuteNonQuery()
(这是用于删除、插入、更新
语句)-而是使用.ExecuteReader
并迭代reader@SeanLange我认为数百万的例子在这里是一个很低的估计。不过,这是一个很好的起点:
static string Body()
{
//create a connection to the database
string ConnString = ConfigurationManager.ConnectionStrings["avdatauser"].ConnectionString;
StringBuilder sb = new StringBuilder();
using (SqlConnection con = new SqlConnection(ConnString))
{
con.Open();
SqlCommand cmd = new SqlCommand("AQB_RMS.p_SO2EmailNearDue", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
sb.Append("<strong>SO2 Analyzer ZSP due</strong>");
sb.Append("<br>");
sb.Append("<br>");
sb.Append("What do you want to say here to show these are the ones with a ZSP that are near due");
sb.Append("<br>");
sb.Append("<br>");
sb.Append(" " + cmd + " ");
con.Close();
}
return sb.ToString();
}