输出两个参数的存储过程如何调用这两个参数呢??

swazn_yj swazn_yj 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
CREATE PROCEDURE [dbo].[sw_GetAd]
@CpID int,
@AdID int=0 OUTPUT
@AdUrl varchar(200) ='' OUTPUT
AS
SET NOCOUNT ON

DECLARE @AdID_S int
DECLARE @AdUrl_S varchar(200)
SELECT @AdUrl_S=AdUrl,@AdID_S=AdID FROM Sw_Cp_Ad
WHERE CpID=@CpID AND AdType='收费' AND Fettle='正常' AND DateDiff(d,GetDate(),EndDay)>=0

IF @AdUrl_S IS null
BEGIN
SELECT @AdUrl_S=AdUrl,@AdID_S=AdID FROM Sw_Cp_Ad
WHERE CpID=@CpID AND Fettle='正常' AND AdType='免费' ORDER BY ID DESC
END

IF @AdUrl_S IS null
BEGIN
SET @AdUrl_S='-1'
END

SET @AdUrl=@AdUrl_S
SET @AdID=@AdID_S
RETURN
GO


public string Cp_GetAd(int CpID )
{
int rowsAffected;
SqlParameter[] parameters =
{
new SqlParameter( "@CpID",SqlDbType.Int,4 ),
new SqlParameter( "@AdID",SqlDbType.Int,4 ),
new SqlParameter( "@AdUrl",SqlDbType.VarChar,200 )
};

parameters[0].Value = CpID;
parameters[1].Direction =ParameterDirection.Output;(这里不知道怎么写?)
parameters[1].Direction = ParameterDirection.Output;(这里不知道怎么写?)
RunProcedure("sw_GetAd", parameters, out rowsAffected);
int AdID = (int)parameters[1].Value;
string AdUrl = (string)parameters[2].Value;
return AdUrl;
return AdID;
Connection.Close();

}

CpID = Convert.ToInt32(Request.QueryString["CpID"].Trim());
Cp_GetAdUrl GetAdUrl = new Cp_GetAdUrl();
string Flag = GetAdUrl.Cp_GetAd(CpID);

try
{
if (Flag == "-1")
{
Response.End();
return;
}
else if(Flag.Length>2)
{
//Response.Write(Flag);
//int AdID = 0;
//AdID = Convert.ToInt32(Flag);
//AddLogs(AdID,CpID);
Response.Redirect(Flag);
Response.End();
return;
}
}

catch (Exception ex)
{
Response.Write(ex.Message);
Response.End();
return;
}

我用C#调用不到返回值!!
...全文

相关推荐

Sql Server 存储过程调用存储过程接收输出参数返回值

主要介绍了Sql Server 存储过程调用存储过程接收输出参数返回值,需要的朋友可以参考下

weixin_38674415

Oracle存储过程及调用

Oracle存储过程语法 Oracle的存储过程语法如下: create procedure 存储过程名称(随便取) is 在这里可以定义常量、变量、游标、复杂数据类型这里可以定义变量、常量 begin 执行部分 end; (2)带参数的存储过程语法: create procedure 存储过程名称(随便取) (变量1 数据类型,变量2 数据类型,...,变量n 数据类型) is 在这里可以定义常量、变量、游标、复杂数据类型这里可以定义变量、常量 begin 执行部分 end; (3)带输入、输出参数的存储过程语法: create procedure

weixin_38708223

C#调用MySQL带输入输出参数的存储过程.txt

网上有很多文章都有参考,但是很多再关键的地方都没有描述清楚,

lhy258308681

mysql 存储过程输入输出参数示例

创建存储过程时可以输入输出参数,下面是一个mysql存储过程的创建示例,需要的朋友可以参考下

weixin_38667920

MySQL 有输入输出参数的存储过程实例

1、实例 代码如下:DELIMITER // DROP PROCEDURE IF EXISTS `test`.`p_getvalue` // CREATE DEFINER=`root`@`localhost` PROCEDURE `p_getvalue`( in id varchar(20),out s varchar(20) ) begin if (length(id)=11) then select ‘A_B_C_D’ into s; elseif(length(id)=8) then select ‘A_B_C’ into s; elseif(length(id)=5) then se

weixin_38744207
评论 23
收藏 已收藏
分享
返回顶部
swazn_yj
MS-SQL Server 34,876 成员 254,635 内容